1631C - And Matching - CodeForces Solution


bitmasks constructive algorithms *1500

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
#define fastIO ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define int long long
using namespace std;
#define prnt(v) for(auto i:v)cout<<i<<" " ; cout<<endl;
#define trnf(s,v) for(auto i:s) v.push_back(i);
#define all(v) v.begin(),v.end()
#define inp(v,n) vector<int> v(n); for(int i=0; i<n;i++)cin>>v[i];
const int mod = 1000000007;
const int N = 2000010;
const int inf = 1e18;


signed main(){
    fastIO;
    int t; cin >> t;
    while(t--){
        int n, k; cin >> n >> k;
        if(n == 4 && k == 3){
            cout << -1 << endl;
        }
        else if(k == n - 1){
            cout << n - 2 << " " << n - 1 << endl;
            cout << 1 << " " << n - 3 << endl;
            int i = 0, j = n - 1;
            while(j - i > 0){
                if(j == n -1  || j == n - 2 || j == n - 3 || i == 1) {i++; j--;continue;}
                cout << i << " " << j << endl;
                i++; j--;
            }
            cout << 0 << " " << 2 << endl;  
        }
        else{
            cout << k << " " << n - 1 << endl;
            int i = 0, j = n - 1;
            while(j - i > 0){
                if(i == k || i == n - 1 || j == k || j == n - 1){
                    i++;
                    j--;
                    continue;
                }
                cout << i << " " << j << endl;
                i++; j--;
            }
            if(k != 0){
                int x , y;
                if(k >= (n/2)){
                    x = n - k - 1;
                    y = 0;
                }
                else{
                    x = 0;
                    y = n - (k + 1);
                }
                cout << x << " " << y << endl;
            }
        }
    }
    
}


Comments

Submit
0 Comments
More Questions

903C - Boxes Packing
887A - Div 64
755B - PolandBall and Game
808B - Average Sleep Time
1515E - Phoenix and Computers
1552B - Running for Gold
994A - Fingerprints
1221C - Perfect Team
1709C - Recover an RBS
378A - Playing with Dice
248B - Chilly Willy
1709B - Also Try Minecraft
1418A - Buying Torches
131C - The World is a Theatre
1696A - NIT orz
1178D - Prime Graph
1711D - Rain
534A - Exam
1472A - Cards for Friends
315A - Sereja and Bottles
1697C - awoo's Favorite Problem
165A - Supercentral Point
1493A - Anti-knapsack
1493B - Planet Lapituletti
747B - Mammoth's Genome Decoding
1591C - Minimize Distance
1182B - Plus from Picture
1674B - Dictionary
1426C - Increase and Copy
520C - DNA Alignment