QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#72977 | #5419. Triangles | chenshi | WA | 1ms | 1744kb | C++ | 2.7kb | 2023-01-21 10:59:05 | 2023-01-21 10:59:09 |
Judging History
answer
#include<cstdio>
using namespace std;
const int E=1e9,A=16,B=32000,C=1e5;
int k,xa[99],ya[99],xb[99],yb[99],xc[99],yc[99],ans;
int main(){
scanf("%d",&k);
if(k<8){printf("No");return 0;}
if(k%3==2)
ans=8,
xa[1]=0,ya[1]=0,xb[1]=E/2-A,yb[1]=B,xc[1]=0,yc[1]=E,
xa[2]=0,ya[2]=0,xb[2]=E/2-A,yb[2]=B,xc[2]=E/2,yc[2]=0,
xa[3]=0,ya[3]=E,xb[3]=E/2,yb[3]=E,xc[3]=E/2-A,yc[3]=B,
xa[4]=E/2-A,ya[4]=B,xb[4]=E/2+A,yb[4]=B,xc[4]=E/2,yc[4]=E,
xa[5]=E/2-A,ya[5]=B,xb[5]=E/2+A,yb[5]=B,xc[5]=E/2,yc[5]=0,
xa[6]=E,ya[6]=0,xb[6]=E/2+A,yb[6]=B,xc[6]=E,yc[6]=E,
xa[7]=E,ya[7]=0,xb[7]=E/2+A,yb[7]=B,xc[7]=E/2,yc[7]=0,
xa[8]=E,ya[8]=E,xb[8]=E/2,yb[8]=E,xc[8]=E/2+A,yc[8]=B;
else if(k%3==0)
ans=9,
xa[1]=0,ya[1]=0,xb[1]=E,yb[1]=0,xc[1]=7276*C,yc[1]=4948*C,
xa[2]=0,ya[2]=0,xb[2]=0,yb[2]=E,xc[2]=7276*C,yc[2]=4948*C,
xa[3]=E,ya[3]=0,xb[3]=7276*C,yb[3]=4948*C,xc[3]=E,yc[3]=6243*C,
xa[4]=7276*C,ya[4]=4948*C,xb[4]=E,yb[4]=6243*C,xc[4]=8004*C,yc[4]=8176*C,
xa[5]=7276*C,ya[5]=4948*C,xb[5]=8004*C,yb[5]=8176*C,xc[5]=4844*C,yc[5]=6637*C,
xa[6]=6430*C,ya[6]=E,xb[6]=8004*C,yb[6]=8176*C,xc[6]=4844*C,yc[6]=6637*C,
xa[7]=6430*C,ya[7]=E,xb[7]=4844*C,yb[7]=6637*C,xc[7]=0,yc[7]=E,
xa[8]=8004*C,ya[8]=8176*C,xb[8]=6430*C,yb[8]=E,xc[8]=E,yc[8]=E,
xa[9]=E,ya[9]=6243*C,xb[9]=8004*C,yb[9]=8176*C,xc[9]=E,yc[9]=E;
else
ans=10,
xa[1]=0,ya[1]=0,xb[1]=0,yb[1]=E,xc[1]=E/2,yc[1]=E/10,
xa[2]=0,ya[2]=E,xb[2]=E/2,yb[2]=E/10,xc[2]=E,yc[2]=E,
xa[3]=E/2,ya[3]=E/10,xb[3]=E,yb[3]=E,xc[3]=E,yc[3]=0,
xa[4]=0,ya[4]=0,xb[4]=E/2-A*4,yb[4]=0,xc[4]=E/2-A*5,yc[4]=E/10-A,
xa[5]=E/2-A*4,ya[5]=0,xb[5]=E/2-A*5,yb[5]=E/10-A,xc[5]=E/2,yc[5]=E/10-A*2,
xa[6]=E/2-A*5,ya[6]=E/10-A,xb[6]=E/2,yb[6]=E/10-A*2,xc[6]=E/2,yc[6]=E/10,
xa[7]=E/2-A*4,ya[7]=0,xb[7]=E/2,yb[7]=E/10-A*2,xc[7]=E/2+A*4,yc[7]=0,
xa[8]=E,ya[8]=0,xb[8]=E/2+A*4,yb[8]=0,xc[8]=E/2+A*5,yc[8]=E/10-A,
xa[9]=E/2+A*4,ya[9]=0,xb[9]=E/2+A*5,yb[9]=E/10-A,xc[9]=E/2,yc[9]=E/10-A*2,
xa[10]=E/2+A*5,ya[10]=E/10-A,xb[10]=E/2,yb[10]=E/10-A*2,xc[10]=E/2,yc[10]=E/10;
for(;ans<k;ans+=3) for(int i=1,xd,yd,xe,ye,xf,yf;i<=ans;++i)
if(xa[i]%2==xb[i]%2&&xb[i]%2==xc[i]%2&&ya[i]%2==yb[i]%2&&yb[i]%2==yc[i]%2){
xd=(xa[i]+xb[i])/2;yd=(ya[i]+yb[i])/2;
xe=(xb[i]+xc[i])/2;ye=(yb[i]+yc[i])/2;
xf=(xc[i]+xa[i])/2;yf=(yc[i]+ya[i])/2;
xa[ans+1]=xa[i];ya[ans+1]=ya[i];xb[ans+1]=xd;yb[ans+1]=yd;xc[ans+1]=xf;yc[ans+1]=yf;
xa[ans+2]=xb[i];ya[ans+2]=yb[i];xb[ans+2]=xd;yb[ans+2]=yd;xc[ans+2]=xe;yc[ans+2]=ye;
xa[ans+3]=xc[i];ya[ans+3]=yc[i];xb[ans+3]=xe;yb[ans+3]=ye;xc[ans+3]=xf;yc[ans+3]=yf;
xa[i]=xd;ya[i]=yd;
xb[i]=xe;yb[i]=ye;
xc[i]=xf;yc[i]=yf;
break;
}
printf("Yes\n");
for(int i=1;i<=ans;++i) printf("%d %d %d %d %d %d\n",xa[i],ya[i],xb[i],yb[i],xc[i],yc[i]);
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 1744kb
input:
2
output:
No
result:
ok no solution
Test #2:
score: -100
Wrong Answer
time: 0ms
memory: 1736kb
input:
24
output:
Yes 562612500 170087500 571125000 154625000 593862500 170087500 0 0 0 1000000000 727600000 494800000 1000000000 0 727600000 494800000 1000000000 624300000 727600000 494800000 1000000000 624300000 800400000 817600000 727600000 494800000 800400000 817600000 484400000 663700000 643000000 1000000000 800...
result:
wrong answer total area 7999892000000000000/2, not 1e18