【题目链接】:https://www.nowcoder.com/acm/contest/63#question
【暴力题】
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format: %lld
空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format: %lld
题目描述
栗酱突发闲心,玩了一会儿仙剑。
她玩的这个版本的仙剑非常简单,打架的时候,每次只有一个小怪,栗酱也只有一个主角,主角在每回合开始先攻击小怪,小怪有a点生命值,主角有b点生命值,小怪有c点攻击力,主角有d点攻击力,每次攻击都会造成确确实实的攻击力的伤害。
生命值小于等于零时就会挂掉。
栗酱发现好像战斗一开始就已经能知道结果了,请你帮她算一下,这样她就可以挂机去做更有趣的事了。
数据保证攻击力和初始生命值均大于等于1。
输入描述:
第一行一个数据组数T。
每组数据一行4个整数a,b,c,d,数据之间用一个空格隔开。
输出描述:
对于每组数据每行给出一个"Yes"或"No",代表栗酱能否取得胜利。
示例1
输入
2 1 2 3 4 84 3 23 6
输出
Yes No
说明
样例1解释:
第一回合时栗酱先发动攻击,小怪的生命值:1−4≤0,所以栗酱取得了胜利。
备注:
T≤1000,
1≤a,b,c,d≤1000
【代码】:
#include <bits/stdc++.h> using namespace std; int a,b,c,d; int t; bool f; int main() { scanf("%d",&t); while(t--){ scanf("%d%d%d%d",&a,&b,&c,&d); while(1) { a-=d; if(a<=0){ f=true;//win break; } b-=c; if(b<=0){ f=false; break; } } if(f){ puts("Yes"); } else{ puts("No"); } } }
题目描述
“伟大的勇栗兔栽栗女王,所有栗子看到您都不寒而栗,但也非常尊重您。您骑着威风凛凛的小白兔,带领栗子们奋勇前行。伟大史诗告诉我们,烈兔勇栗从大草原飞奔出来,
冲在每场战争的前线——无论您在哪里,他们都能找到您。骑小白兔飞驰吧,凶猛的女王,但愿您有真正的朋友和软弱的敌人。”
今天,冰雪聪明的栗酱终于玩到了她梦寐很久的文明游戏。
不过作为一个萌新,兔头獐脑的栗酱自然不愿意第一次玩就遇到一个尴尬的结局,于是希望通过你来寻找一个完美结局。
已知游戏结束前场上有n个国家,第i个国家有ai块土地,任意2个国家若是想建立外交关系,则需要互相在对方的一块土地上建立一个大使馆。
一块土地只能建立一个大使馆,若一个国家和其他国家存在外交关系,则需要征用一块己方土地作为备用大使馆。
完美结局的定义是:找到最多数量的国家,使他们相互之间存在外交关系。
冲在每场战争的前线——无论您在哪里,他们都能找到您。骑小白兔飞驰吧,凶猛的女王,但愿您有真正的朋友和软弱的敌人。”
今天,冰雪聪明的栗酱终于玩到了她梦寐很久的文明游戏。
不过作为一个萌新,兔头獐脑的栗酱自然不愿意第一次玩就遇到一个尴尬的结局,于是希望通过你来寻找一个完美结局。
已知游戏结束前场上有n个国家,第i个国家有ai块土地,任意2个国家若是想建立外交关系,则需要互相在对方的一块土地上建立一个大使馆。
一块土地只能建立一个大使馆,若一个国家和其他国家存在外交关系,则需要征用一块己方土地作为备用大使馆。
完美结局的定义是:找到最多数量的国家,使他们相互之间存在外交关系。
输入描述:
第一行一个数T,表示有T组数据。
对于每组数据,第一行输入一个数n,表示国家的数量,接下来一行输入n个数,a1,a2,…,an,其中ai表示第i个国家拥有的土地数量。每两个相邻的数之间用空格隔开。
输出描述:
对于每一个询问,输出一个数,即完美结局下,相互建立外交关系的国家数量。
示例1
输入
2 5 2 2 2 2 2 10 8 6 5 9 2 7 10 3 3 9
输出
2 6
说明
对于第一个样例:
最多只能找到2个国家,使他们互相建立外交关系。
对于第二个样例:
第1,2,4,6,7,10个国家间可互相建立外交关系,最多数量为6。
备注:
T≤10
1≤n≤1000
1≤ai≤n
#include <bits/stdc++.h> using namespace std; const int N = 1010; int n,a[N]; int t,ans,j; bool f; int main() { scanf("%d",&t); while(t--){ scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); } sort(a+1,a+n+1); for(int i=n,j=0; i>=1; i--,j++){ a[i]-=j; //printf("i=%d,j=%d,a[i]=%d\n",i,j,a[i]);// if(a[i]<=0){ ans=j; break; } } printf("%d\n",ans); } }