QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#125630#6677. Puzzle: SashiganeUNos_maricones#WA 1ms3464kbC++201.3kb2023-07-17 05:53:182023-07-17 05:53:19

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-07-17 05:53:19]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3464kb
  • [2023-07-17 05:53:18]
  • 提交

answer

#include <bits/stdc++.h>
#define ll long long
#define ff first
#define ss second
#define pb push_back
using namespace std;
int n, x, y;
struct ele{
	int xx, yy, hh, ww;
};
int main(){
	cin >> n;
	cin >> x >> y ;
	int abajo = 1, arriba = n, izquierda = 1, derecha = n;
	vector<ele>v;
	while(true){
		while(true){
			if(x == izquierda or y == abajo)break;
			v.pb({izquierda, abajo, arriba-abajo, derecha-izquierda});
			abajo++;
			izquierda++;
		}
		while(true){
			if(x == izquierda or y == arriba)break;
			v.pb({izquierda, arriba, abajo-arriba, derecha-izquierda});
			arriba--;
			izquierda++;
		}
		while(true){
			if(x == derecha or y == arriba)break;
			v.pb({derecha, arriba, abajo-arriba, izquierda-derecha});
			arriba--;
			derecha--;
		}
		while(true){
			if(x == derecha or y == abajo)break;
			v.pb({derecha, abajo, arriba-abajo, izquierda-derecha});
			abajo++;
			derecha--;
		}
		if(x == derecha and derecha == izquierda and y == abajo and y == arriba)break;
	}
	if(abajo != y or arriba != y or x != izquierda or x != derecha)cout << "No\n";
	else{
		cout << "Yes\n";
		cout << v.size() << "\n";
		for(int i = 0 ; i < v.size() ; i ++){
			cout << v[i].xx << " " << v[i].yy << " " << v[i].hh <<  " " << v[i].ww << "\n";
		}
	}
	
}

详细

Test #1:

score: 0
Wrong Answer
time: 1ms
memory: 3464kb

input:

5 3 4

output:

Yes
4
1 1 4 4
2 2 3 3
5 5 -2 -2
4 3 1 -1

result:

wrong answer position (5,3) covered twice. (test case 1)