QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#851983 | #9770. Middle Point | Wanye | WA | 0ms | 3704kb | C++14 | 1.2kb | 2025-01-11 09:34:32 | 2025-01-11 09:34:34 |
Judging History
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