Hamman的烦恼
Problem Description
Hamman成绩非常好,编程能力也很强,所以就有很多小白去问他一些非常简单的题目,Hamman非常热情,但是问他问题的人太多了,他实在忙不过来,于是他决定从第 0 时刻开始每 s 个时刻回答一位同学的问题。 Q 个同学来问问题,如果某位同学第 t 时刻来,还有等多久才能问Hamman问题。
Input
多组输入,处理到文件的末尾。 每组数据的第一行两个整数 s , Q 。 接下来 Q 行每行一个整数 t。
(1<s,t<1e9,1<Q<1e5)
Output
每行一个整数表示答案。
Sample Input
3 4
1
2
3
4
Sample Output
2
1
0
2
标程
#include<stdio.h>
#include<stdlib.h>
int main(){
int s,q,t;
while(~scanf("%d%d",&s,&q)) {
while(q--) {
scanf("%d",&t);
printf("%d\n",(s-t%s)%s);
}
}
return 0;
}
Hamman的三棵香蕉树
Problem Description
Hamman最喜欢吃香蕉。 现在有三棵有编号的香蕉树。第一棵树上有a根香蕉,第二棵树上有b根香蕉,第三棵树上有c根香蕉。 每次他都能做两种操作中的一种: 1.从第一棵中取一根香蕉,从第二棵树上取两根香蕉(只有当第一棵树至少有一根香蕉,第二棵树至少有两根香蕉时,才能进行这一操作); 2.从第二棵中取一根香蕉,从第三棵树上取两根香蕉(只有当第二棵树至少有一根香蕉,第三棵树至少有两根香蕉时,才能进行这一操作)。 他想得到最大数量的香蕉,但他不知道该怎么做。一开始,他没有香蕉。你能帮他吗?
Input
第一行包含一个整数。t (1≤t≤100)-测试用例的数量。下一个t行以下列格式描述测试用例:
每行包含三个非负整数。a, b和c,由空格分隔(0≤a,b,c≤1000)-第一棵树、第二棵数和第三棵数上的香蕉数目。
Output
列印t行,测试用例的答案与输入的顺序相同。测试用例的答案是整数--在进行一些操作之后,Hamman大佬可以得到香蕉数
Sample Input
3
3 4 5
1 0 5
5 3 2
Sample Output
9
0
6
标程
#include<stdio.h>
int main(){
int t;
int a[4]={0};
scanf("%d",&t);
while(t--){
int count=0;
scanf("%d%d%d",&a[1],&a[2],&a[3]);
while(a[2]>=1&&a[3]>=2){
a[2]-=1;
a[3]-=2;
count++;
}
for(int i=0;a[1]>=1&&a[2]>=2;i++){
a[1]-=1;
a[2]-=2;
count++;
}
printf("%d\n",count*3);
}
return 0;
}
Bernard听音乐
Problem Description
Bernard很喜欢音乐。 他能同时分辨出三种不同的音乐。恰巧,一座城市中有三处同时有交响音乐会(音源响度相同)。但是Bernard每一场都不想错过,于是他想寻找一个地点,使得三处音乐会声音的响度相同,这样他就可以同时欣赏三场音乐会啦! (注:假设声音传播过程中不会受障碍物作用,声音传播满足平方反比定律)
Input
共三行:每行两个整数,表示每个点的x坐标和y坐标。题目满足三点不共线。
Output
共一行:两个实数(x坐标和y坐标),表示Bernard欣赏音乐会的地点(保留三位小数)
Sample Input
0 0 1 3 4 2
Sample Output
2.000 1.000
Bernard的棋盘
Problem Description
给定一个棋盘,已知棋盘的行数是n,列数是m。
每个整数坐标处都有一个糖果,Bernard 初始在棋盘的左下角 (1,1)出发,并且 Bernard 每次只能跳 ”日” 字,假设 Bernard 可以跳无数次,但不可以跳出棋盘,现在 Bernard 想知道他能否拿到棋盘上的所有糖果。
Input
在一行中给出两个数字 n,m表示棋盘的大小 (1<=n,m<=2000)
Output
若 Bernard 能拿到棋盘上所有的糖果,则输出 "Yes",否则,输出 "No"
Sample Input
4 4
Sample Output
Yes
(说明:Bernard 可以走到所有的点上并且拿到所有的糖果。)
Sample Input
3 3
Sample Output
No
(说明:Bernard 一开始在左下角 (1,1) ,此时 Bernard 除了中间的点 (2,2) 无法走到,其他点都可到达。)
Hint
若Bernard现在在黄色的点上,那么他可以跳到图中的8个红色点处。