[关闭]
@DingCao-HJJ 2015-10-20T18:00:02.000000Z 字数 460 阅读 1082

sicily_1052 Candy Sharing Game

sicily


题目链接: http://soj.sysu.edu.cn/1052

代码

早期的代码用了goto, 结构不是很好。

  1. // Problem#: 1052
  2. #include<stdio.h>
  3. int main() {
  4. int i, k = 0, n;
  5. int arr[1000], b[1000];
  6. A: scanf("%d", &n);
  7. if (!n) return 0;
  8. for (i = 1; i <= n; i++) {
  9. scanf("%d", &arr[i]);
  10. }
  11. arr[0] = arr[n];
  12. C: for (i = 1; i <= n; i++) {
  13. if (arr[i - 1] != arr[i]) {
  14. k++;
  15. goto B;
  16. }
  17. }
  18. goto D;
  19. B:for (i = 1; i <= n; i++) {
  20. b[i] = (arr[i - 1] + 1) / 2 + (arr[i] + 1) / 2;
  21. }
  22. b[0] = b[n];
  23. for (i = 0; i <= n; i++) {
  24. if (b[i] % 2) b[i]++;
  25. arr[i] = b[i];
  26. }
  27. goto C;
  28. D: printf("%d %d\n", k, arr[n]);
  29. k = 0;
  30. goto A;
  31. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注