第四个点后面N>1不知道为什么都是wa.. 提交记录:https://www.luogu.com.cn/record/124011955
#include <iostream>
#include <math.h>
#include <vector>
#include <algorithm>
using namespace std;
int T, N, in1;
int minr,nowr,win;
vector<int> nums;
int is_prime(int num)
{
if(num==2||num==1) return true;
for (int i = 2; i <= sqrt(num) + 1; i++)
{
if (num % i == 0)
{
return false;
}
}
return true;
}
int main()
{
cin >> T;
for (int i = 1; i <= T; i++)
{
nums.clear();
cin >> N;
for (int o = 0; o <= N-1; o++)
{
cin >> in1;
nums.push_back(in1);
}
minr=99999999;
for(int o = N-1; o >=0; o--){
if(nums[o]%4==0){
nowr=nums[o]/2;
}else{
for(int j=0;j<=nums[o];j+=4){
if(is_prime(nums[o]-j)){
nowr=j/2+1;
break;
}
}
}
if(nowr/2<minr/2){
if(nums[o]%4==0){
win=1;
}else{
win=0;
}
}
minr=min(minr/2,nowr/2);
}
if(win){
cout<<"Farmer Nhoj"<<endl;
}else{
cout<<"Farmer John"<<endl;
}
}
}