Submission #1367904

#TimeUsernameProblemLanguageResultExecution timeMemory
1367904hahahaA String Problem (EGOI25_stringproblem)C++20
16 / 100
28 ms4060 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define f first
#define s second
#define pb push_back
const int N=1e5+1;
struct coord{
    int a;
    int b;
};
vector<coord>pin;
int n;
map<int,vector<int>>mp;
signed main(){
    cin>>n;
    int mod=2*n;
    for(int i=0; i<n; i++){
        int x,y;
        cin>>x>>y;
        bool go=true;
        if(y<x) swap(x,y);
        mp[(x+y)%mod].pb(i);
        pin.pb({x,y});
    }
    cout<<endl;
    if(mp.size()==1) cout<<0<<endl;
    else{
        int a=-1, b=-1, c=-1;
        if(mp.size()==2){
            for (auto i: mp)
                if (i.s.size()==2&&(a==-1)&&(b==-1)) {
                    a=i.s[0];
                    b=i.s[1];
                } else c=i.f;
        }
        else{
            for (auto i: mp)
                if (i.s.size()==1) {
                    if (a==-1) a=i.s[0];
                    else if (b==-1) b=i.s[0];
                    else c=i.f;
                } else c=i.f;
        }
        cout<<2<<endl;
        cout<<a<<" "<<pin[a].a<<" "<<(c-pin[a].b+mod)%mod<<endl;
        cout<<b<<" "<<(c-pin[a].b+mod)%mod<<" "<<pin[a].a<<endl;
    }
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...