QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#824667#9770. Middle Pointucup-team4474#WA 0ms4020kbC++201.8kb2024-12-21 15:10:342024-12-21 15:10:44

Judging History

This is the latest submission verdict.

  • [2024-12-21 15:10:44]
  • Judged
  • Verdict: WA
  • Time: 0ms
  • Memory: 4020kb
  • [2024-12-21 15:10:34]
  • Submitted

answer

#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cassert>
#include<cstdio>
#include<cctype>
#include<vector>
#include<bitset>
#include<random>
#include<ctime>
#include<queue>
#include<cmath>
#include<list>
#include<map>
#include<set>
#define pb push_back
#define mp make_pair
#define pii pair<int,int>
#define pll pair<long long,long long>
#define FF fflush(stdout)
#define inf 0x3f3f3f3f
#define endl "\n"
#define fi first
#define se second
typedef long long ll;
typedef unsigned long long ull;
using namespace std;
//char buf[1<<20],*p1,*p2;
//#define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<20,stdin),p1==p2)?EOF:*p1++)
inline int read()
{
    int s=0,f=1;
    char x=getchar();
    while(!isdigit(x))f=(x=='-'?-1:1),x=getchar();
    while(isdigit(x))s=s*10+x-'0',x=getchar();
    return s*f;
}
const int p=1e9+7;
//ll ksm(int a,int b){ll ans=1,bs=a;while(b){if(b&1)ans=ans*bs%p;bs=bs*bs%p;b>>=1;}return ans;}
mt19937 rd(time(0));
#define reaD read
void dfs(vector<pii> &ans,int l,int r,int x,int d)
{
    int mid=(l+r)>>1;
    ans.pb(mp(l*d,r*d));
    if(mid==x)
    {
        return ;
    }
    if(mid<x)dfs(ans,mid,r,x,d);
    else dfs(ans,l,mid,x,d);
}
vector<pii> sol(int a,int x)
{
    vector<pii> ans;
    if(x==0||x==a)return ans;
    int aa=a;
    while(aa%2==0)aa>>=1;
    if(x%aa)
    {
        puts("-1");
        exit(0);
    }
    dfs(ans,0,a/aa,x/aa,aa);
    return ans;
}
int main()
{
    int a=read(),b=read(),x=read(),y=read();
    vector<pii> a1=sol(a,x),a2=sol(b,y);
    while(a1.size()<a2.size())a1.pb(mp(x,x));
    while(a1.size()>a2.size())a2.pb(mp(y,y));
    printf("%d\n",(int)(a1.size()));
    for(int i=0;i<a1.size();i++)
    {
        printf("%d %d %d %d\n",a1[i].fi,a2[i].fi,a1[i].se,a2[i].se);
    }
    return 0;
}

详细

Test #1:

score: 100
Accepted
time: 0ms
memory: 4020kb

input:

2 2
1 1

output:

1
0 0 2 2

result:

ok correct!

Test #2:

score: 0
Accepted
time: 0ms
memory: 3832kb

input:

8 8
5 0

output:

3
0 0 8 0
4 0 8 0
4 0 6 0

result:

ok correct!

Test #3:

score: 0
Accepted
time: 0ms
memory: 3772kb

input:

0 0
0 0

output:

0

result:

ok correct!

Test #4:

score: 0
Accepted
time: 0ms
memory: 3832kb

input:

2024 0
1012 0

output:

1
0 0 2024 0

result:

ok correct!

Test #5:

score: 0
Accepted
time: 0ms
memory: 3708kb

input:

2024 2024
2023 2023

output:

-1

result:

ok correct!

Test #6:

score: -100
Wrong Answer
time: 0ms
memory: 3788kb

input:

8 6
7 3

output:

3
0 0 8 6
4 3 8 3
6 3 8 3

result:

wrong answer (8,3) is not in S