赞
踩
目录
Linux 之父 Linus Torvalds 的名言是:“Talk is cheap. Show me the code.”(嫑废话,上代码)。本题就请你直接在屏幕上输出这句话。
输入格式:
本题没有输入。
输出格式:
在一行中输出 Talk is cheap. Show me the code.
。
输入样例:
无
输出样例:
Talk is cheap. Show me the code.
个人题解:
- #include<iostream>
- using namespace std;
- int main()
- {
- cout<<"Talk is cheap. Show me the code.";
- return 0;
- }
这是一道脑筋急转弯题:猪肉一斤 15 元,鸡肉一斤 20 元,那么一毛钱能买多少头牛?
答案是:9 —— 因为“九牛一毛”。
本题就请你按照这个逻辑,计算一下 N 块钱能买多少斤猪肉、多少斤鸡肉、多少头牛。
输入格式:
输入在一行中给出一个不超过 1000 的正整数 N,即以“元”为单位的货币量。
输出格式:
在一行中顺序输出 N 块钱能买多少斤猪肉、多少斤鸡肉、多少头牛。三个数字都只取整数部分,其间以 1 个空格分隔,行首尾不得有多余空格。
输入样例:
18
输出样例:
1 0 1620
个人题解 :
- #include<iostream>
- using namespace std;
- int main()
- {
- int n;
- cin>>n;
- printf("%d %d %d",n/15,n/20,n*90);
- return 0;
- }
阿汪面前有两只盲盒,每只盒子打开都有两种可能:或者装了 X 克狗粮,或者是一只容量为 Y 克的狗粮储蓄盒。如果是狗粮,阿汪可以快乐地吃掉;如果是空储蓄盒,那就倒霉了,阿汪必须想办法找到狗粮把这只储蓄盒装满,自己还吃不到。
正当阿汪发愁不知道该怎么选的时候,铲屎官大手一挥:“小孩子才做选择,大人全都要!”但全都要的结果,却不一定是赚了还是亏了……
我们假设聪明的阿汪总是能嗅出狗粮最多的盒子,并且绝不会选任何储蓄盒。而铲屎官没有这样的鼻子,他一定是全都要。铲屎官如果打开了有储蓄盒的盒子,就必须想办法把储蓄盒装满,他会优先用另一只盒子里的狗粮装(如果另外一只盒子里有狗粮),不够了还得自己去买新的狗粮,这样阿汪可就亏啦,什么都吃不到了。本题就请你判断阿汪到底是赚了还是亏了。
输入格式:
输入在一行中给出两个整数,绝对值都不超过 100,中间用一个空格分开,分别代表两只盒子里的东西。如果是正数就表示是狗粮的份量,如果是负数就表示绝对值是空盆的容量。两个数都肯定不是 0,因为保证没有空盒子。
输出格式:
第一行输出两个结果:如果让阿汪选能吃到的狗粮 A,和如果铲屎官全都要能吃到的狗粮 B。两个数字间用一个空格分开。如果铲屎官的决定让阿汪赚到了,就在第二行输出一个笑脸 ^_^
,否则输出一个哭脸 T_T
。但如果反正什么都吃不到(两个盒子里都没有狗粮),就输出一张躺平脸 -_-
。
输入样例 1:
12 18
输出样例 1:
- 18 30
- ^_^
输入样例 2:
12 -18
输出样例 2:
- 12 0
- T_T
个人题解:
- #include<iostream>
- #include<algorithm>
- using namespace std;
- int main()
- {
- int n,m;
- cin>>n>>m;
- int g = max(n,m);
- int r = n+m;
- if(g<=0)
- g=0;
- if(r<=0)
- r=0;
- printf("%d %d\n",g,r);
- if(g==0&&r==0)
- printf("-_-");
- else if(g<r)
- printf("^_^");
- else
- printf("T_T");
- return 0;
- }
你的外星人朋友不认得地球上的加减乘除符号,但是会算阶乘 —— 正整数 N 的阶乘记为 “N!”,是从 1 到 N 的连乘积。所以当他不知道“5+7”等于多少时,如果你告诉他等于“12!”,他就写出了“479001600”这个答案。
本题就请你写程序模仿外星人的行为。
输入格式:
输入在一行中给出两个正整数 A 和 B。
输出格式:
在一行中输出 (A+B) 的阶乘。题目保证 (A+B) 的值小于 12。
输入样例:
3 6
输出样例:
362880
个人题解:
- #include<iostream>
- using namespace std;
- int fact(int x)
- {
- int fac=1;
- for(int i=2;i<=x;i++)
- fac*=i;
- return fac;
- }
- int main()
- {
- int a,b;
- cin>>a>>b;
- cout<<fact(a+b);
- return 0;
- }
我们知道一个骰子有 6 个面,分别刻了 1 到 6 个点。下面给你 6 个骰子的初始状态,即它们朝上一面的点数,让你一把抓起摇出另一套结果。假设你摇骰子的手段特别精妙,每次摇出的结果都满足以下两个条件:
那么你应该可以预知自己第 n 次(1≤n≤5)摇出的结果。
输入格式:
输入第一行给出 6 个骰子的初始点数,即 [1,6] 之间的整数,数字间以空格分隔;第二行给出摇的次数 n(1≤n≤5)。
输出格式:
在一行中顺序列出第 n 次摇出的每个骰子的点数。数字间必须以 1 个空格分隔,行首位不得有多余空格。
输入样例:
- 3 6 5 4 1 4
- 3
输出样例:
4 3 3 3 4 3
样例解释:
这 3 次摇出的结果依次为:
- 6 5 6 6 6 6
- 5 4 4 5 5 5
- 4 3 3 3 4 3
个人题解:
- #include<iostream>
- #include<vector>
- using namespace std;
- int main()
- {
- vector<int>a[6];
- int b[6],n;
- for(int i=0;i<6;i++)
- cin>>b[i];
- cin>>n;
- for(int i=0;i<6;i++)
- {
- for(int j=0;j<6;j++)
- {
- if(b[i]!=6-j)
- a[i].push_back(6-j);
- }
- }
- for(int i=0;i<6;i++)
- {
- printf("%d",a[i][n-1]);
- if(i<5)
- printf(" ");
- }
- return 0;
- }
传说这是集美大学的学生对话。本题要求你做一个简单的自动问答机,对任何一个问句,只要其中包含 PTA
就回答 Yes!
,其他一概回答 No.
。
输入格式:
输入第一行给出一个整型范围内的正整数 N,随后 N 行,每行给出一个长度不超过 80 的字符串,为用户输入的句子,由英文字母、数字、空格和标点符号组成,以回车结束。
输出格式:
对每一行句子,如果其结尾字符为问号 ?
则判断此句中有无 PTA
?如果有则在一行中输出 Yes!
,否则输出 No.
。如果不是问号结尾,则敷衍地回答 enen
。
输入样例:
- 5
- Hello!
- Do you still play WZRY?
- Chi Ji?
- you play PTA ah?
- how about pta site?
输出样例:
- enen
- No.
- No.
- Yes!
- No.
个人题解:
- #include<iostream>
- #include<string>
- using namespace std;
- int main()
- {
- int n;
- cin>>n;
- cin.get();
- while(n--)
- {
- string s;
- getline(cin,s);
- if(s[s.size()-1]!='?')
- cout<<"enen"<<endl;
- else
- {
- if(s.find("PTA")!=-1)
- cout<<"Yes!"<<endl;
- else
- cout<<"No."<<endl;
- }
- }
- return 0;
- }
在 MMORPG《最终幻想14》的副本“乐欲之所瓯博讷修道院”里,BOSS 机工士姆斯塔迪奥将会接受玩家的挑战。
你需要处理这个副本其中的一个机制:N×M 大小的地图被拆分为了 N×M 个 1×1 的格子,BOSS 会选择若干行或/及若干列释放技能,玩家不能站在释放技能的方格上,否则就会被击中而失败。
给定 BOSS 所有释放技能的行或列信息,请你计算出最后有多少个格子是安全的。
输入格式:
输入第一行是三个整数 N,M,Q (1≤N×M≤105,0≤Q≤1000),表示地图为 N 行 M 列大小以及选择的行/列数量。
接下来 Q 行,每行两个数 Ti,Ci,其中 Ti=0 表示 BOSS 选择的是一整行,Ti=1 表示选择的是一整列,Ci 为选择的行号/列号。行和列的编号均从 1 开始。
输出格式:
输出一个数,表示安全格子的数量。
输入样例:
- 5 5 3
- 0 2
- 0 4
- 1 3
输出样例:
12
个人题解:
- #include<iostream>
- #include<cstring>
- using namespace std;
- int main()
- {
- int n,m,q;
- cin>>n>>m>>q;
- int a[n][m];
- memset(a,0,sizeof(a));
- while(q--)
- {
- int sel,del;
- cin>>sel>>del;
- if(sel)
- for(int i=0;i<n;i++)
- a[i][del-1]=1;
- else
- for(int i=0;i<m;i++)
- a[del-1][i]=1;
- }
- int num=0;
- for(int i=0;i<n;i++)
- for(int j=0;j<m;j++)
- if(a[i][j]==0)
- num++;
- cout<<num;
- return 0;
- }
大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:
现要求你编写一个控制赢面的程序,根据对方的出招,给出对应的赢招。但是!为了不让对方意识到你在控制结果,你需要隔 K 次输一次,其中 K 是系统设定的随机数。
输入格式:
输入首先在第一行给出正整数 N(≤10),随后给出 N 个系统产生的不超过 10 的正随机数 { K1,K2,⋯,KN },数字间以空格分隔。这意味着第 i(i=0,1,⋯,N−1)次输局之后应该隔 Ki+1 次再让下一个输局。如果对方出招太多,则随机数按顺序循环使用。例如在样例中,系统产生了 3 个随机数 {2, 4, 1},则你需要:赢 2 次,输 1 次;赢 4 次,输 1 次;赢 1 次,输 1 次;然后再次回到第 1 个随机数,赢 2 次,输 1 次。
之后每行给出对方的一次出招:“ChuiZi”代表“锤子”、“JianDao”代表“剪刀”、“Bu”代表“布”。“End”代表输入结束,这一行不要作为出招处理。输入保证对方至少出了一招。
输出格式:
对每一个输入的出招,按要求输出赢或输局的招式。每招占一行。
输入样例:
- 3 2 4 1
- ChuiZi
- JianDao
- Bu
- JianDao
- Bu
- ChuiZi
- ChuiZi
- ChuiZi
- JianDao
- Bu
- JianDao
- Bu
- ChuiZi
- End
输出样例:
- Bu
- ChuiZi
- ChuiZi
- ChuiZi
- JianDao
- Bu
- Bu
- JianDao
- ChuiZi
- ChuiZi
- ChuiZi
- JianDao
- JianDao
个人题解:
- #include<iostream>
- #include<string>
- using namespace std;
- int main()
- {
- int n,t=0,i=0;
- int a[11];
- string s;
- cin>>n;
- for(int i=0;i<n;i++)
- cin>>a[i];
- while(cin>>s&&s!="End")
- {
- int f=0; //标记是否要输
- if(t==a[i])
- {
- f=1;
- t=0;
- i++;
- if(i==n)
- i=0;
- }
- else
- t++;
- if(s=="Bu")
- {
- if(f)
- cout<<"ChuiZi"<<endl;
- else
- cout<<"JianDao"<<endl;
- }
- else if(s=="ChuiZi")
- {
- if(f)
- cout<<"JianDao"<<endl;
- else
- cout<<"Bu"<<endl;
- }
- else
- {
- if(f)
- cout<<"Bu"<<endl;
- else
- cout<<"ChuiZi"<<endl;
- }
- }
- return 0;
- }
ps:第一次写题解,哪里有写的不好的地方,还望各位大佬指出。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。