[关闭]
@ZYK1997 2015-05-21T17:58:51.000000Z 字数 1280 阅读 966

5.21

未分类


时限 空限
a 3s 128MB
b 1s 128MB
c 1s 128MB

在此郑重声明,试题未按难度进行排序!

[a.cpp]

[题目描述]

nn
使

比如,n=4,且41254,只需转移4枚金币即可实现每人手中的金币数目相等。

[输入格式]

输入包含多组数据。
每组数据第一行为整数n(n1000000)
以下n行,每行一个整数,按逆时针顺序给出每个人拥有的金币数。
输入结束标志为文件结束符(EOF)

[输出格式]

对于每组数据,输出被转手金币数量的最小值。
输入保证这个值在64为无符号整数范围内。

[样例输入]

  1. 3
  2. 100
  3. 100
  4. 100
  5. 4
  6. 1
  7. 2
  8. 5
  9. 4

[样例输出]

  1. 0
  2. 4

[HINT]

n1000000
对于读入数据,请使用以下模板:

  1. int main()
  2. {
  3. freopen("a.in", "r", stdin);
  4. freopen("a.out", "w", stdout);
  5. while(scanf("%d", &n) == 1)
  6. {
  7. //读入n个数据并处理
  8. }
  9. fclose(stdin);
  10. fclose(stdout);
  11. return 0;
  12. }

[b.cpp]

[题目描述]

给你一个nn01矩阵(每个元素01)。
你的任务是把尽量少的01,使得每个元素的上,下,左,右的元素(如果存在的话)之和均为偶数。
比如,如图(a)变成(b)需要3步。

0 0 0      0 1 0
1 0 01 0 1
0 0 0      0 1 0
(a)         (b)

[输入格式]

输入第一行为数据组数T(T30)
每组数据的第一行为正整数n(1n15)
接下来是一个nn的矩阵。

[输出格式]

对于每组数据,输出被改变的元素的最小个数。
如果无解,输出1

[样例]

就是上面那个例子,大家看着用吧~~~


[c.cpp]

[题目描述]

给定正整数n,你的任务是用最少的操作次数把序列1,2,...,n中的所有数字都变成0
每次操作可以从序列中选择一个或多个整数,同时间去一个相同的正整数。
比如,1,2,3可以把2,3同时减小2,得到1,0,1

[输入格式]

输入包含多组数据。
每组仅一行,为正整数n(n109)
输入结束标志为文件结束符(EOF)

[输出格式]

对于每组数据,输出最少操作次数。

[样例输入]

  1. 6

[样例输出]

  1. 3
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注