传说喵哈哈村有三种神奇的魔法石:第一种魔法石叫做人铁石,拥有$A$的能量;第二种魔法石叫做地冈石,拥有$B$的能量;而第三种,则是最神奇的天玄石,拥有无可比拟的$C$的能量!
但是有一天,沈宝宝太调皮了,把一颗天玄石玩丢了……
“这可玩大发了,这样我会被天行廖责备的。”沈宝宝悲伤的说到,“怎么办呢?”
这时候沈宝宝望了望窗外的飞过的白鸽,突然急中生智,想到了一个办法:干脆就用人铁石和地冈石把天玄石凑出来吧!
“只要我拿若干个人铁石,若干个地冈石,他们的能量之和,恰好加起来等于天玄石所拥有的能量。然后再把这些石头粘在一起,那么由若干个石头的组成的整体,我不就可以看做是一个天玄石了吗?“
沈宝宝愈发觉得自己机智。
所以现在有一个问题摆在你的面前了,给你$A$,$B$,$C$,请判断是否存在两个大于等于$0$的整数$x$,$y$满足$Ax+By=C$.
第一行一个T,表示有T组测试数据。
接下来T行,每行三个整数a,b,c,分别表示三块石头的能量值。
满足(1<=T<=100,1 ≤ a, b ≤ 100, 1 ≤ c ≤ 10 000)
对每一组测试答案均需要输出结果,如果可行的话,输出Yes,否则输出No
Yes No
题解:不要暴力
#include<bits/stdc++.h> using namespace std; int main(){ int n; int a,b,c; cin>>n; for(int i=1;i<=n;i++){ cin>>a>>b>>c; c+=a; while(c-a>=0){ c-=a; if(c%b==0){ cout<<"Yes"<<endl; break; } } if(c<a&&c%b!=0) cout<<"No"<<endl; } }
喵哈哈村的狼人杀大战(1)
发布时间: 2017年3月5日 22:19 最后更新: 2017年3月5日 22:22 时间限制: 1000ms 内存限制: 128M
喵哈哈村最近热衷于玩一个叫做狼人杀的游戏!
张小田今天她抽到的是民的身份,按照她的一贯玩法,她不会考虑发言者的发言,她只考虑站队情况。
现在是警上竞选的投票环节,现在只剩下还能当警长的两个真假预言家。
张小田认为,如果在某一天,有连续坐在一起的k个人投票给同一个人的话,那么她就认为这一局可能比较危险。
投给第一个预言家的,就记为0,投给第二个预言家的记为1,于是就可以得到一个01串。
现在张小田就交给你来判断,如果按照张小田 的逻辑来看这一局是否危险!
----
题目翻译:给你一个01串,你需要判断这个01串里面是否存在连续的相同字符的长度超过k个。
假设当前k为3,那么010101001就不危险,11101010就危险。
注意,该01串是串,而不是环。
该题包含多组测试数据。
第一行一个整数k。
第二行一个01串,s。
满足:1<=len(s)<=100,1<=k<=100
如果危险的话,输出Lose,否则输出Win
3 010101001 3 11101010
Win Lose
题解:位置记录
#include<bits/stdc++.h> using namespace std; int cnt[105]; int main(){ int n,flag=0; string s; while(cin>>n>>s){ for(int i=0;i<s.size();i++){ for(int j=i+1;j<s.size();j++){ if(s[i]==s[j]) cnt[i]++; else break; } if(cnt[i]>=n-1) flag=1; } if(flag==1) cout<<"Lose"<<endl; if(flag==0) cout<<"Win"<<endl; flag=0;memset(cnt,0,sizeof(cnt)); } }
喵哈哈村的嘟嘟熊魔法(3)
发布时间: 2017年3月5日 16:01 最后更新: 2017年3月5日 16:04 时间限制: 1000ms 内存限制: 128M
百度是喵哈哈村的赞助商,所以百度派出了嘟嘟熊给大家展现魔法:
“我歌月徘徊,我舞影零乱。醒时同交欢,醉后各分散。”
只见刹那间,嘟嘟熊就从兜里面掏出了一堆数字,这一堆数字仿佛有了生命,不停的在空气中跃动。
嘟嘟熊的魔法是瞬间将某一个数字转变成其他的数字!只见“嗖”的一下,嘟嘟熊迅速抬起自己的手,凌空一指!其中的一个数字,就变成了另外一个数字了!
这时候,嘟嘟熊转身向戴尔廖提问:“请问这些数字中,第二大的数是什么?”
戴尔廖支支吾吾的不知所措。
这时候戴尔廖望向了你,你是戴尔廖的迷妹,所以你应该帮帮他。
本题包含若干组测试数据。
第一行两个整数n,m,分别表示数字的个数,嘟嘟熊的操作个数。
第二行n个整数,表示嘟嘟熊出来的n个数是什么。
接下来m行:
1 x y,即将第x个数,变成y
2,即查询当前第二大的数是什么。
数据保证,2<=n,m<=100000,1<=a[i],y<=100,1<=x<=n
对于每个询问,输出答案。
1 2 2
#include<bits/stdc++.h> using namespace std; const int maxn=1e5+7; int a[maxn],wor[105]; int main(){ int n,m; while(cin>>n>>m){ memset(wor,0,sizeof(wor)); for(int i=1;i<=n;i++){ cin>>a[i]; wor[a[i]]++; } for(int i=0;i<m;i++){ int op; cin>>op; if(op==1){ int pos,shu; cin>>pos>>shu; wor[a[pos]]--; a[pos]=shu; wor[a[pos]]++; } else{ int num=2; for(int j=100;j>0;j--){ if(wor[j]>=num){ cout<<j<<endl;break; } else{ num-=wor[j]; } } } } } }
喵哈哈村的美食面馆
发布时间: 2017年3月18日 12:25 时间限制: 1000ms 内存限制: 128M
喵哈哈村的美食面馆开张了,这里的面特别好吃。
星星同学听闻后,就来到了面馆吃东西。
这里是面馆的价目表:
niuroumian(牛肉面):小份8,中份10,大份12
zajiangmian(杂酱面):小份7,中份9,大份11
jiandanmian(煎蛋面):小份8,中份10,大份12
fangbianmian(方便面):小份3,中份5,大份7
roujiamo(肉夹馍):小份4,中份5,大份6
现在星星同学点了一堆菜,她想知道她点了多少钱的菜。
本题包含若干组测试数据。
第一行一个n,表示星星同学点了n道菜。
接下来n行,每行表示星星同学点了什么。
格式为 name size
那么即菜名,size为012,分别表示小份中份大份。
满足 0<=n<=100
输出星星同学一共点了多少钱的。
#include<bits/stdc++.h> using namespace std; int main(){ int n; while(cin>>n){ int m[3]={8,10,12},z[3]={7,9,11},r[3]={4,5,6},f[3]={3,5,7},j[3]={8,10,12}; int ans=0; for(int i=0;i<n;i++){ int k;string s; cin>>s>>k; if(s[0]=='n')ans+=m[k]; if(s[0]=='z')ans+=z[k]; if(s[0]=='j')ans+=j[k]; if(s[0]=='r')ans+=r[k]; if(s[0]=='f')ans+=f[k]; } cout<<ans<<endl; } }