QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#310607#5419. Trianglesc20230201WA 2ms3532kbC++141.9kb2024-01-21 16:03:402024-01-21 16:03:41

Judging History

你现在查看的是最新测评结果

  • [2024-01-21 16:03:41]
  • 评测
  • 测评结果:WA
  • 用时:2ms
  • 内存:3532kb
  • [2024-01-21 16:03:40]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;

int a[8][6]={
{0,0,9,5,10,0},
{0,0,9,5,0,20},
{10,0,9,5,11,5},
{10,0,11,5,20,0},
{20,0,11,5,20,20},
{20,20,10,20,11,5},
{10,20,11,5,9,5},
{10,20,9,5,0,20}
};

int b[9][6]={
{0,0,5,5,9,0},
{0,0,5,5,0,14},
{0,14,5,15,5,5},
{0,14,5,15,0,20},
{9,0,10,5,20,0},
{10,5,20,0,20,20},
{0,20,10,5,20,20},
{5,5,5,15,10,5},
{5,5,10,5,9,0}
};

int c[10][6]={
{0,0,9,0,8,4},
{10,3,8,4,9,0},
{10,3,9,0,11,0},
{10,3,11,0,12,4},
{10,3,8,4,10,5},
{10,3,12,4,10,5},
{20,0,11,0,12,4},
{20,20,10,5,20,0},
{0,20,10,5,20,20},
{0,0,10,5,0,20}
};

struct tri {
	int x1,y1,x2,y2,x3,y3;
};

queue<tri> q;

void pt(int k) {
	while(k) {
		tri t=q.front(); q.pop();
		if((t.x1&1)||(t.x2&1)||(t.x3&1)||(t.y1&1)||(t.y2&1)||(t.y3&1)) {
			q.push(t);
			continue;
		}
		q.push((tri){t.x1/2,t.y1/2,t.x2/2,t.y2/2,t.x3/2,t.y3/2});
		q.push((tri){t.x1/2,t.y1/2,t.x2,t.y2,t.x3,t.y3});
		q.push((tri){t.x1,t.y1,t.x2/2,t.y2/2,t.x3,t.y3});
		q.push((tri){t.x1,t.y1,t.x2,t.y2,t.x3/2,t.y3/2});
		k--;
	}
	while(q.size()) {
		tri t=q.front(); q.pop();
		cout<<t.x1<<' '<<t.y1<<' '<<t.x2<<' '<<t.y2<<' '<<t.x3<<' '<<t.y3<<'\n';
	}
	return ;
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0), cout.tie(0);
	for(int i=0;i<8;i++) {
		for(int j=0;j<6;j++) a[i][j]*=5e7;
	}
	for(int i=0;i<9;i++) {
		for(int j=0;j<6;j++) b[i][j]*=5e7;
	}
	for(int i=0;i<10;i++) {
		for(int j=0;j<6;j++) c[i][j]*=5e7;
	}
	int k; cin>>k;
	if(k<8) cout<<"No\n";
	else {
		cout<<"Yes\n";
		if(k%3==0) {
			for(int i=0;i<9;i++) q.push((tri){b[i][0],b[i][1],b[i][2],b[i][3],b[i][4],b[i][5]});
			pt((k-9)/3);
		}
		if(k%3==1) {
			for(int i=0;i<10;i++) q.push((tri){c[i][0],c[i][1],c[i][2],c[i][3],c[i][4],c[i][5]});
			pt((k-10)/3);
		}
		if(k%3==2) {
			for(int i=0;i<8;i++) q.push((tri){a[i][0],a[i][1],a[i][2],a[i][3],a[i][4],a[i][5]});
			pt((k-8)/3);
		}
	}
	return 0;
}

详细

Test #1:

score: 100
Accepted
time: 1ms
memory: 3532kb

input:

2

output:

No

result:

ok no solution

Test #2:

score: -100
Wrong Answer
time: 2ms
memory: 3524kb

input:

24

output:

Yes
500000000 250000000 1000000000 0 1000000000 1000000000
0 1000000000 500000000 250000000 1000000000 1000000000
250000000 250000000 250000000 750000000 500000000 250000000
250000000 250000000 500000000 250000000 450000000 0
0 0 125000000 125000000 225000000 0
0 0 250000000 250000000 450000000 0
0 ...

result:

wrong answer triangle 3 not acute