1667C - Half Queen Cover - CodeForces Solution


constructive algorithms math *2400

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
using namespace std;
 
#define ll long long
#define pll pair<ll,ll>
#define ff first
#define ss second
#define endl "\n"
#define pb push_back
const ll maxn=3e5+10;
const ll base=3e18;
const ll mod= 1e9+7;


ll n;
int main()
{
    ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);  
    if (fopen(".in","r"))
    {
        freopen("cheetos.in","r",stdin);
        freopen("cheetos.out","w",stdout);
    }
    cin>> n;
    if (n==1)
    {
        cout <<"1\n1 1\n";
        return 0;
    }
    ll m= (2*n+1)/3;
    cout <<m<<"\n";
    while (n%3!=2)
    {
        cout <<n<<" "<<n<<"\n";
        n--,m--;
    }
    vector<pll> vt;
    for (int i=1;i<=(m+1)/2;i++)
        vt.pb(pll(i,(m+1)/2-i+1));
    for (int i=1;i<=m/2;i++)
        vt.pb(pll((m+1)/2+i,m-i+1));
/*    for (int i=1;i<=n;i++)
    {
        for (int j=1;j<=n;j++)
        {
            bool chk=false;
            for (auto p:vt)
            {
                if (i==p.ff||j==p.ss)
                {
                    chk=true;
                    break;
                }
                if (i-j==p.ff-p.ss)
                {
                    chk=true;
                    break;
                }
            }
            if (chk==false)
            {
                cout <<"sai cmnr"<<"\n";
                return 0;
            }
        }
    }*/
    for (auto p:vt)
        cout <<p.ff<<' '<<p.ss<<endl;
}


Comments

Submit
0 Comments
More Questions

122A - Lucky Division
1611C - Polycarp Recovers the Permutation
432A - Choosing Teams
758A - Holiday Of Equality
1650C - Weight of the System of Nested Segments
1097A - Gennady and a Card Game
248A - Cupboards
1641A - Great Sequence
1537A - Arithmetic Array
1370A - Maximum GCD
149A - Business trip
34A - Reconnaissance 2
59A - Word
462B - Appleman and Card Game
1560C - Infinity Table
1605C - Dominant Character
1399A - Remove Smallest
208A - Dubstep
1581A - CQXYM Count Permutations
337A - Puzzles
495A - Digital Counter
796A - Buying A House
67A - Partial Teacher
116A - Tram
1472B - Fair Division
1281C - Cut and Paste
141A - Amusing Joke
112A - Petya and Strings
677A - Vanya and Fence
1621A - Stable Arrangement of Rooks