社区讨论

只听WA声一片

B4050[GESP202409 五级] 挑战怪物参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mhjrr4uj
此快照首次捕获于
2025/11/04 07:26
4 个月前
此快照最后确认于
2025/11/04 07:26
4 个月前
查看原帖

啊啊啊啊啊!怎么全是WA啊啊啊啊啊

CPP
#include<bits/stdc++.h>
using namespace std;
bool isPrime(int num){
	if(num<=1)
		return false;
	if(num==2)
		return true;
	if(num%2==0)
		return false;
	for(int i=3;i<=(int)sqrt(num);i+=2)
		if(num%i==0)
			return false;
	return true;
}
int t,sum_physical[40];
int main(){
	cin>>t;
	sum_physical[0]=0;
	for(int i=1;i<31;i++)
		sum_physical[i]=sum_physical[i-1]+(2*i-1);
	while(t--){
		int h;
		cin>>h;
		int min_attacks=-1;
		for(int k=0;k<31;k++){
			int S=sum_physical[k];
			if(S>h)
				break;			
			int remaining=h-S;
			if(!remaining)
				if(min_attacks==-1||k<min_attacks)
					min_attacks=k;
			else{
				if(isPrime(remaining)){
					int total=k+1;
					if(min_attacks==-1||total<min_attacks)
						min_attacks=total;
				}
			}
		}
		cout<<min_attacks<<endl;
	}
	return 0;
}

我这个刚学编程的蒟蒻,错的比较多,大佬们请原谅

回复

1 条回复,欢迎继续交流。

正在加载回复...