QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#851983#9770. Middle PointWanyeWA 0ms3704kbC++141.2kb2025-01-11 09:34:322025-01-11 09:34:34

Judging History

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

  • [2025-01-11 09:34:34]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3704kb
  • [2025-01-11 09:34:32]
  • 提交

answer

#include<bits/stdc++.h>
#define ll long long
using namespace std;
struct node{ll a,b,c,d;};
ll a,b,x,y,ta,tb,la,ra,lb,rb;
vector<node> ans;
int main(){
	cin>>a>>b>>x>>y;
	ta = a,tb = b;
	while(ta%2==0) ta/=2;
	while(tb%2==0) tb/=2;
	if(x%ta!=0||y%tb!=0){
		cout<<-1<<endl;
		return 0;
	}
	la=0,ra=a,lb=0,rb=b;
	while(1){
		if(la==x&&lb==y) break;
		if(la==x&&rb==y) break;
		if(ra==x&&lb==y) break;
		if(ra==x&&rb==y) break;
		ll mida = (la+ra)/2,midb = (lb+rb)/2;
		ans.push_back((node){la,lb,ra,rb});
		if(x<=mida&&y<=midb){
			ans.push_back((node){la,lb,ra,lb});
			ans.push_back((node){la,lb,la,rb});
			ra = mida,rb = midb;
		}
		else if(x>=mida&&y>=midb){
			ans.push_back((node){la,rb,ra,rb});
			ans.push_back((node){ra,lb,ra,rb});
			la = mida,lb = midb;
		}
		else if(x<=mida&&y>=midb){
			ans.push_back((node){la,rb,ra,rb});
			ans.push_back((node){la,lb,la,rb});			
			ra = mida,lb = midb;
		}
		else{
			ans.push_back((node){ra,lb,ra,rb});
			ans.push_back((node){la,lb,ra,lb});			
			la = mida,rb = midb;
		}
	}
	cout<<ans.size()<<endl;
	for(int i=0;i<ans.size();i++) cout<<ans[i].a<<" "<<ans[i].b<<" "<<ans[i].c<<" "<<ans[i].d<<endl;
	return 0;
}

詳細信息

Test #1:

score: 0
Wrong Answer
time: 0ms
memory: 3704kb

input:

2 2
1 1

output:

3
0 0 2 2
0 0 2 0
0 0 0 2

result:

wrong answer Jury has a better answer