标准输出用的程序是这样的:
#include<bits/stdc++.h>
using namespace std;
long long a,x,power=1;
int main(){
cin>>a;
x=a;
while(x%2==0){
power*=2;
x/=2;
}
cout<<a<<' '<<x*x/2*power<<' '<<(x*x/2+1)*power;
}
checker是这样的
#include "testlib.h"
int main(int argc,char *argv[]){
registerTestlibCmd(argc, argv);
long long cnt=-1,pans[3]={0,0,0},jans[3]={0,0,0};
bool p=0;
while(!ans.eof()){
pans[++cnt]=ouf.readLong();
jans[cnt]=ans.readLong();
ouf.readSpace();
ans.readSpace();
if(pans[cnt]<=2) quitf(_wa, "The answer is wrong.");
if(pans[cnt]==jans[0]) p=1;
}
if(p==0) quitf(_wa, "The answer is wrong.");
if((pans[0]*pans[0]==pans[1]*pans[1]+pans[2]*pans[2]||pans[1]*pans[1]==pans[0]*pans[0]+pans[2]*pans[2]||pans[2]*pans[2]==pans[0]*pans[0]+pans[1]*pans[1])&&pans[0]+pans[1]>pans[2]&&pans[0]+pans[2]>pans[1]&&pans[1]+pans[2]>pans[0]) quitf(_wa, "The answer is wrong.");
else quitf(_ok, "The answer is correct.");
}
不知道为什么这份代码会WA
#include<bits/stdc++.h>
using namespace std;
long long a,x,power=1;
int main(){
cin>>a;
x=a;
while(x%2==0){
power*=2;
x/=2;
}
cout<<x*x/2*power<<' '<<a<<' '<<(x*x/2+1)*power;
}