Submission #1363769

#TimeUsernameProblemLanguageResultExecution timeMemory
1363769kokorooToy Design (EGOI22_toydesign)C++20
0 / 100
0 ms420 KiB
#include<bits/stdc++.h>
//#include<atcoder/all>
 
using namespace std;
//using namespace atcoder;
#define rep(i,n) for(ll i=0; i<n; i++)
#define rrep(i,n) for(ll i=n-1; i>=0; i--)
#define print(a) cout<<a<<endl
typedef long long ll;
#define yn(flg) if(flg){cout<<"Yes"<<endl;}else{cout<<"No"<<endl;}
#define YN(flg) if(flg){cout<<"YES"<<endl;}else{cout<<"NO"<<endl;}
#define so(a) sort(a.begin(),a.end())
#define mp make_pair
#define vi vector<int>
#define vl vector<ll>
#define vs vector<string>
#define pb push_back
#define a2i(a,s) (ll)(a-s)
#define i2a(s,a) (char)(s+a)
#define ssize(a) a.size()
typedef pair<int, int> Pii;
typedef pair<int, ll> Pil;
typedef pair<pair<ll,ll>,ll> P3;
typedef pair<pair<ll,ll>,pair<ll,ll>> P4;
 
typedef pair<ll, ll> Pll;
typedef pair<ll,Pll> Plll;
typedef pair<Pii, int> Piii;
const ll INF = 1000000000000000000;
 
template<class T> inline bool chmin(T& a, T b) {
    if (a > b) {
        a = b;
        return true;
    }
    return false;
}
template<class T> inline bool chmax(T& a, T b) {
    if (a < b) {
        a = b;
        return true;
    }
    return false;
 
}


int main(){
//入力
 
	// cin.tie(0);
	// ios::sync_with_stdio(0);

    ll n;
    cin>>n;
    vector<Pll> ans;

    ll sum=0;
    for(ll i=0;i<n-1;i++){
        for(ll j=i+1;j<n;j++){
            cout<<'?'<<" "<<0<<" "<<i<<" "<<j<<endl;

            ll r;
            cin>>r;
            if(r<0){
                return 0;
            }
        }
    }

    cout<<'!'<<" "<<sum<<endl;
    rep(i,sum){
        cout<<ans[i].first<<" "<<ans[i].second<<endl;
    }



    return 0;
}
#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...