| ||||||||||
| 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 | |||||||||
本地求出结果后打表水之In Reply To:过不了,求优化 Posted by:sukiida at 2013-03-13 16:07:19 > #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