2013.7.14DAY1

上午睡到8点过被老妈一个电话吵醒了。。。。

然后就开始学炖汤~自己炒了个藤藤菜~好吃。。。

下午用冰格冻了冰块,去超市买了牛奶这些,准备学着做冰品。。。为了未来的女朋友嘛~

然后卧室开空调看了会书。。然后我妈就进来说了一句。。。你现在怎么这么爱学习了。。。。怎么这么。。。这么。。。么。。。。

我以前不爱学习吗?。。。。好吧。。。只是LOL太累的了。。晚上欺负一把小学生就够了。。。。

或者是我成熟了?总觉得要多学点以后好找钱。。。而且这也是为我的梦想奠定个小基础~

好吧就写这么多 DAY1

虐了一道猴子选大王。。。其实就是约瑟夫。。找点自信。。

Description

 

有m个猴子围成一圈,按顺时针编号,分别为1到m。现打算从中选出一个大王。经过协商,决定选大王的规则如下:从第一个开始顺时针报数,报到n的猴子出圈,紧接着从下一个又从1顺时针循环报数,...,如此下去,最后剩下来的就是大王。

 

Input

 

第一行是一个正整数T表示测试数据的组数。下面共有T行,每行两个整数m和n,用一个空格隔开,分别表示猴子的个数和报数n。1<=m<=100,1<=n<=200。

 

Output

 

每组数据对应有一个输出,表示大王的编号。

 

Sample Input

 

1 3 2

 

Sample Output

 

3

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int mon[200];
 5     int n,m,T,i,j,count,sp;
 6     scanf("%d",&T);
 7     for (i=1;i<=T;i++)
 8     {
 9         scanf("%d %d",&m,&n);
10         for (j=1;j<=m;j++)
11             mon[j]=1;
12         mon[0]=0;
13         mon[j]=0;
14         sp=1;
15         for (j=1;j<m;j++)
16         {
17             count=0;
18            while (count<n)
19            {
20                if (!mon[sp])
21                    {sp++;
22                     if (sp==m+1)
23                     sp=1;
24                     continue;}
25                    count++;
26                 if (count<n) 
27                 {sp++;
28                 if (sp==m+1)
29                     sp=1;
30                 }
31            }
32            mon[sp]=0;
33            sp++;
34            if (sp==m+1)
35             sp=1;
36         }
37         for (j=1;j<=m;j++)
38             if (mon[j])
39                 printf("%d\n",j);
40     }
41     return 0;
42 }                     

 

posted on 2013-07-14 22:15  BWB  阅读(241)  评论(0编辑  收藏  举报

导航