[关闭]
@sensitive-cs 2016-10-04T09:06:25.000000Z 字数 573 阅读 732

G - Cookies

分析:

给出许多包裹,从中取一个包裹粗来,让剩下的包裹中的cookies是偶数,问有多少种取法。

思路:

用数组保存每一个包裹中的cookie数,用一个sum计算cookies的总数。之后用一个循环,检验sum减去每一个包裹中的cookie数后是否为整数,用一个flag保存way。

代码:

  1. #include <stdio.h>
  2. void sortion(int n,int a[]);
  3. int main()
  4. {
  5. int n;
  6. int a[110];
  7. while (scanf("%d",&n) != EOF)
  8. {
  9. int flag = 0;
  10. int i,sum = 0;
  11. for (i = 0;i < 110;i++)
  12. a[i] = 0;
  13. for (i = 0;i < n;i++)
  14. {
  15. scanf("%d",&a[i]);
  16. sum += a[i];
  17. }
  18. sortion(n,a);
  19. for (i = 0;i < n;i++)
  20. {
  21. int temp = sum - a[i];
  22. if (temp % 2 == 0)
  23. flag++;
  24. }
  25. printf("%d\n",flag);
  26. }
  27. return 0;
  28. }
  29. void sortion(int n,int a[])
  30. {
  31. int i,j;
  32. for (i = 0;i < n;i++)
  33. for (j = i+1;j < n;j++)
  34. {
  35. if (a[i] > a[j])
  36. {
  37. int temp = a[i];
  38. a[i] = a[j];
  39. a[j] = temp;
  40. }
  41. }
  42. }
PS:排序没有什么卵用,开始审题错误的产物。
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注