描述
众所周知,混元形意太极拳马掌门会闪电五连鞭。
其中马掌门每打一鞭需要T秒,每鞭会对对手的HP(生命值初始均为100)造成N点伤害并使对手Rage(怒气值)提高S,年轻人的Rage(怒气值)会随着时间推移而增长,每五秒Rage(怒气值)会增长R;
而且第五鞭会额外对对手造成50%的伤害。但由于69岁的老人,所以每打完一套闪电五连鞭就需要用混元功法回复K秒。
但由于年轻人不讲武德,所以当年轻人的Rage(怒气值)高于60时,可会直接去"偷袭"!,一拳就给马老师KO了。
现在熊熊学长希望你能写个程序告诉他最后是谁KO了谁。
输入
第一行输入一个整数M,表示有M个测试样例 接下来M行,每行有五个整数分别对应 着T,N,S,R,K
T (每打一鞭的时间)
N (每一鞭造成的伤害)
S (受到伤害后怒气值的增长量)
R (随时间怒气的增长量)
K (每打完一套马老回复需要的时间)
输出
请每行输出 “老没有输,马老赢了
”或者“ 年轻人不讲武德,年轻人赢了
”
样例
输入
1
1 8 15 0.5 3
输出
年轻人不讲武德,年轻人赢
输入
2
1.0 17.0 5.0 0.5 2.0
2 10 8 2 1
输出
马老没有输,马老赢了
年轻人不讲武德,年轻人赢了
提示
马老师的绝技的伤害是瞬间打出来的!!!(只是收式要很久)
年轻人的怒气值一满便会直接进行反击!!!,这时他是无敌状态!!!
每五秒加的怒气应当是在第五秒时瞬间加上怒气
描述
有三类人,a,b,c,现在要把这些人分成三个组,a和c类的不能在同一组,问分组后三组的最大组的人数规模最小的是多少。
输入
第一行包含一个整数t (1≤t≤5)=输入中的测试样例数 每个测试用例由一行组成,其中包含三个整数a,b和c (1≤a,b,c≤1000) = 分别为3个类别的人数
输出
对于每一个输入样例都有一个输出值,该值为分组后三组的最大组的人数的最小规模值。
样例
输入
5
3 5 7
4 8 4
13 10 13
1000 1000 1000
13 22 7
输出
5
6
13
1000
14
描述
一只青蛙想要过河。 假定河流被等分为 x 个单元石,并且在每一个单元石内都有可能放有一石子(也有可能没有)。 青蛙可以跳上石头,但是不可以跳入水中。
给定石子的位置列表(用单元石序号升序表示), 请判定青蛙能否成功过河(即能否在最后一步跳至最后一个石子上)。 开始时, 青蛙默认已站在第一个石子上,并可以假定它第一步只能跳跃一个单位(即只能从单元石1跳至单元石2)。
如果青蛙上一步跳跃了 k 个单位,那么它接下来的跳跃距离只能选择为 k - 2、k 或 k + 2个单位。 另请注意,青蛙只能向前方(终点的方向)跳跃。
请注意:
石子的数量 ≥ 2 且 < 1100; 每一个石子的位置序号都是一个非负整数,且其 < 231; 第一个石子的位置永远是0。
输入
输入第一行为n个石子,第二行为每个石子的相对位置用空格间隔
输出
能跳至最后一个石子为true不能则为false
样例
输入
8
0 1 2 3 4 8 9 11
输出
false
输入
7
0 1 4 6 10 15 18
输出
true
描述
熊熊和柴柴轮流从n堆中挑选糖果,挑选到最后一个糖果的玩家将赢得最后的胜利。每个回合他们可以从同一堆中挑选任意数量的糖果(不允许不摘糖果)。为了让游戏更有趣,玩家可以将一个堆分成三个较小的堆(没有空堆),而不是选择操作。请找出如果熊熊和柴柴都不出错的话,谁将赢得这场游戏。
输入
第一行输入一个整数T,表示有T个测试样例(1≤T≤100) 接下来输入T行的测试样例,每行都已整数n开头表示有n个堆,接下来输入n个整数s[0],s[1],…,s[n−1],表示每堆糖果的数量(1≤n≤106,1≤s[i]≤109)
输出
对于每一个测试用例,输出一行包括"First player wins.“或者"Second player wins.”
样例
输入
2
2
4 4
3
1 2 4
输出
Second player wins.
First player wins.
提示
Nim博弈,算是策论吧!!!
描述
请设计一个程序,计算出1到n之间的素数之和。
输入
输入一个整数n;
输出
输出1到n之间的素数之和;
样例
输入
10
输出
47
输入
100
输出
1060
输入
999
输出
76127
描述
自然界中我们可以常见到一些像螺,蜗牛之类的生物,他们的壳都有一道非常优美的曲线——阿基米德螺线(r=aθ)。阿基米德螺线这这里我想让你帮我用程序写出N阶的型如阿基米德螺线的螺旋数组。例如3阶的螺旋数组为:
- 1 2 3
- 8 9 4
- 7 6 5
输入
输入一个整数N,表示请你求出N阶的螺旋数组
输出
输出一个N*N的螺旋数组
样例
输入
5
输出
1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9
输入
20
输出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 21 75 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 95 22 74 143 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 161 96 23 73 142 203 256 257 258 259 260 261 262 263 264 265 266 267 268 219 162 97 24 72 141 202 255 300 301 302 303 304 305 306 307 308 309 310 269 220 163 98 25 71 140 201 254 299 336 337 338 339 340 341 342 343 344 311 270 221 164 99 26 70 139 200 253 298 335 364 365 366 367 368 369 370 345 312 271 222 165 100 27 69 138 199 252 297 334 363 384 385 386 387 388 371 346 313 272 223 166 101 28 68 137 198 251 296 333 362 383 396 397 398 389 372 347 314 273 224 167 102 29 67 136 197 250 295 332 361 382 395 400 399 390 373 348 315 274 225 168 103 30 66 135 196 249 294 331 360 381 394 393 392 391 374 349 316 275 226 169 104 31 65 134 195 248 293 330 359 380 379 378 377 376 375 350 317 276 227 170 105 32 64 133 194 247 292 329 358 357 356 355 354 353 352 351 318 277 228 171 106 33 63 132 193 246 291 328 327 326 325 324 323 322 321 320 319 278 229 172 107 34 62 131 192 245 290 289 288 287 286 285 284 283 282 281 280 279 230 173 108 35 61 130 191 244 243 242 241 240 239 238 237 236 235 234 233 232 231 174 109 36 60 129 190 189 188 187 186 185 184 183 182 181 180 179 178 177 176 175 110 37 59 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 38 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39
描述
给出一个整数数组haitao[](都为整数),如果在该组数字中存在一对数字满足haitao[i]==haitao[j],并且i 输入 第一行输入数组数据个数n 第二行输入数组数据 输出 输出海涛数对的数目 样例 输入 6 输出 4 输入 4 输出 6 提示 haitao[0]==haitao[3]且0<3> 共四组海涛数对 描述 给定一个十进制整数N,求其对应2进制数中1的个数 输入 第一个整数表示有T组测试数据,其后T行是对应的测试数据,每行为一个整数N。(1 输出 T行,每行输出对应一个输入。 样例 输入 4 输出 1 提示 所有的N均大于0 1.年轻人我劝你耗子尾汁 2.学生分组问题 青蛙过河 4.熊熊的困惑 5.素数和 6.自然之美 7.海涛数对 8.那就是1吧 看完点赞加关注!(=3=)
1 2 3 1 1 3
1 1 1 1
haitao[0]==hiatao[4]且0<4>
haitao[2]==haitao[5]且2<5>
haitao[3]==haitao[4]且3<4>8.那就是一吧
2
100
1000
66
3
6
2
题解
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int m;
scanf("%d", &m);
double t[m], n[m], s[m], r[m], k[m];
for (int i = 0; i < m; i++)
{
scanf("%lf", &t[i]); //每打一鞭需要T秒
scanf("%lf", &n[i]); //每鞭会对对手造成N点伤害
scanf("%lf", &s[i]); //每鞭使对手Rage(怒气值)提高S
scanf("%lf", &r[i]); //每五秒Rage(怒气值)会增长R
scanf("%lf", &k[i]); //混元功法回复K秒。
}
for (int i = 0; i < m; i++)
{
double times = 0.0;
double time = 0.0;
double hp = 100.0;
double rage = 0.0;
double time_2 = 0.0;
for (; 1;)
{
if (times < 5)
{
hp -= n[i];
times++;
rage += s[i];
time += t[i];
}
else if (times == 5)
{
hp -= (1.5 * n[i]);
rage += s[i];
}
else if (times >= 5)
{
times -= 6;
time += k[i];
}
/* hp判断 */
while (time - time_2 >= 5)
{
rage += r[i];
time_2 += 5;
}
/* 怒气值判断 */
if (rage >= 60)
{
printf("年轻人不讲武德,年轻人赢了\n");
break;
}
else if (hp <= 0 && rage < 60)
{
printf("马老没有输,马老赢了\n");
break;
}
}
}
return 0;
}
#include <stdio.h>
int max(int A,int B,int C);
int main()
{
int arr[100];
int N;
scanf("%d",&N);
int i=0,a,b,c,t,A,B,C;
for(t=0;t<N;t++){
int pd=0;
scanf("%d %d %d",&a,&b,&c);
if(a<c){
A=a;
B=c/2;
C=c-c/2;
pd=1;
for(;b>0;b--){
if(A>B){
if(B>C){
C++;
continue;
}else{
B++;
continue;
}
}else{
if(A>C){
C++;
continue;
}
else{
A++;
continue;
}
}
}
}
if(pd){
arr[i]=max(A,B,C);
i++;
pd=0;
}
if(a>=c){
A=c;
B=a/2;
C=a-a/2;
pd=1;
for(;b>0;b--){
if(A>B){
if(B>C){
C++;
continue;
}
else{
B++;
continue;
}
}else{
if(A>C){
C++;
continue;
}
else{
A++;
continue;
}
}
}
}
if(pd){
arr[i]=max(A,B,C);
i++;
pd=0;
}
}
for(int j=0;j<i;j++)
printf("%d\n",arr[j]);
return 0;
}
int max(int A,int B,int C){
int m;
if(A>B){
if(A>C)
m=A;
else
m=C;
}else{
if(B>C)
m=B;
else
m=C;
}
return m;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int n = 0;
scanf("%d", &n);
int a[n];
for (int i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
int q = 1;
for (int i = 0; i < n - 1; i++)
{
if (a[1] - a[0] != 1)
{
printf("false\n");
return 0;
}
int w = a[i + 1] - a[i];
if (w <= (q + 2) && w >= (q - 2))
{
q = w;
}
else
{
printf("false\n");
return 0;
}
}
printf("true\n");
return 0;
}
#include<stdio.h>
int main(void)
{
int a,b[10],c[100],d,i,m[100],n;
scanf("%d",&a);
for(i=1;i<=a;i++)
{
scanf("%d",&b[i]);
for(n=1;n<=b[i];n++)
{
scanf("%d",&m[n]);
c[i]=c[i]+m[n];
}
}
for(i=1;i<=a;i++)
{
if(c[i]%2==0)
printf("Second player wins.\n");
else
printf("First player wins.\n");
}
return 0;
}
#include<stdio.h>
int main()
{
int n=0,x=2;
scanf("%d",&n);
for(int i=2;i<=n;i++)
{
for(int j=2;j<i;j++)
{
if(i%j==0)
break;
if(j==i-1)
x+=i;
}
}
printf("%d",x);
return 0;
}
#include<stdio.h>
int main(void)
{
int N,n,i,j,num=1;
int a[100][100];
scanf("%d",&N);
for(n=1;n<=N;n++){
for(i=n;i<=N-n+1;i++)
a[n][i]=num++;
for(j=n+1;j<=N-n+1;j++)
a[j][i-1]=num++;
for(i=N-n;i>=n;i--)
a[j-1][i]=num++;
for(j=N-n;j>=n+1;j--)
a[j][i+1]=num++;
}
for (int i=1; i<=N; i++)
{
for (int j=1; j<=N; j++)
{
printf("%5d", a[i][j]);
}
printf("\n");
}
return 0;
}
#include<stdio.h>
int main()
{
int i,j,a[500],n,t,sum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
for(j=n-1;i<j;j--)
{
if(a[i]==a[j])
{
sum++;
}
else
continue;
}
}
printf("%d",sum);
return 0;
}
#include <stdio.h>
int main(void)
{
int n;
scanf("%d", &n);
int a[n];
int t,h;
for (int i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
for (int i = 0; i < n; i++)
{
t=0;
while(a[i]>0)
{
h=a[i]%2;
a[i]/=2;
if(h==1){
t++;
}
}
printf("%d\n", t);
}
return 0;
}