| ||||||||||
Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
过不了,求优化#include <stdio.h> #include <string.h> int main() { int k = 0; while (1) { if (scanf("%d", &k) != 1) { return 0; } if (0 == k) { return 0; } int m = k + 1;// while (1) { int i = 0; int pos = 0; for (; i < k; i++) { pos = (m + pos - 1) % (2 * k - i);//next person to be killed if (pos < k) { break; } } if (k == i)//if k bad guys were killed { printf("%d\n", m); break; } else { ++m; if (m % (2 * k) == 0)//in this region a good guy will be killed at first { m += k; } } } } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator