一个分糖游戏,找了会规律,没找到,只能直接模拟玩了。
果然0ms过了,看来数据不大,只是考编码能力罢了。
#include <stdio.h> #include <vector> #include <string.h> #include <algorithm> #include <iostream> #include <string> #include <limits.h> #include <stack> #include <queue> #include <set> #include <map> using namespace std; int main() { int N; while (~scanf("%d", &N) && N) { int *stu = (int *)malloc(sizeof(int)*N); for (int i = 0; i < N; i++) { scanf("%d", stu+i); } int ti = 0; while (true) { int last = stu[N-1]; for (int i = 0; i < N; i++) { int t = stu[i]; stu[i] = (stu[i]>>1) + (last>>1); last = t; } for (int i = 0; i < N; i++) { if (stu[i] & 1) stu[i]++; } ti++; int i = 1; last = stu[0]; for ( ; i < N && last == stu[i]; i++); if (i == N) break; } printf("%d %d\n", ti, stu[0]); free(stu); } return 0; }
HDU 1034 Candy Sharing Game 模拟题,布布扣,bubuko.com
HDU 1034 Candy Sharing Game 模拟题
原文:http://blog.csdn.net/kenden23/article/details/38727155