作为一个acmer刚刚入门的人,一天无所事事,每天划水,渐渐和大佬的差距越来越大,于是TYoUer开始尝试每天做题,但是TYoUer又不会难的题,于是就每天水题来安慰自己。

第一天水题

题目如下

http://www.fjutacm.com/Problem.jsp?pid=1198

我已经在学校里呆了几年了,所以这边所有的食堂我都已经去过。现在我对所有的食物都已经失去了兴趣,因此在用餐时间,我不知道应该去哪个食堂。所以我想出了一个解决方法。
在我们学校有4个食堂,我将它们标记为0到3。然后我说“大兵小将,点谁是谁”,当我说第一个字的时候,我指到标记为0的食堂,当我说到第i(i>1)个词时,我指到标号比前一个指向的食堂大1的食堂,如果前一个指向的食堂的标号为3,我将再一次指到标号为0的食堂。下面这个表格解释了我解决这个案例的过程。
字 我指的食堂编号
大 0
兵 1
小 2
将 3
点 0
谁 1
是 2
谁 3
我将在几天后去上大学,已经听说了在大学里有许多食堂。因此我想再一次使用我的方法,假如有n个食堂,他们分别被标记为0到n-1,并且我将说m个字,当我说第一个字时我指向标记为0的食堂,当我说到第i(i>1)个词时,我指向的食堂的标号比前一个所指向的食堂标号大1。如果所指向的前一个食堂的标记是n-1,我将再一次指向0,我将会去我最后一次指向的食堂吃饭,那么我最后指向的食堂会是哪一个呢?
通过手工操作计算结果将会很耗时,因此我想让你帮我写一个程序,你会帮我吗?

Input

多组测试(大约10000),每个测试用例包含两个以一行显示的整数n和m。
[参数说明]
1<=n,m<=100

Output

对于每组测试用例,输出我应该去的食堂的标号。

SampleInput

4 3
1 100
SampleOutput
2
0
题目就是这样啦,下面是本弱鸡的代码氵氵氵氵
#include<stdio.h>
int main(){
	int a[100000];//开数组
	int n,m,b=0;
	while(~scanf("%d%d",&n,&m)){//多组输入
		for(int i=0;i<n;i++){//简单给食堂编号
			a[i]=b;
			b++;
		}
		int c;
		c=m%n;
		if(c!=0)printf("%d\n",a[c-1]);//简单的输出
		if(c==0)printf("%d\n",a[b-1]);
		b=0;//初始化
	}
	return 0;
}

  

posted on 2021-01-16 22:27  TYoUer  阅读(74)  评论(0)    收藏  举报