701B - Cells Not Under Attack - CodeForces Solution


data structures math *1200

Please click on ads to support us..

Python Code:

ax,ay=map(int,input().split())
 
a=set()
 
b=set()
 
for i in range(ay):
 
	c,d=map(int,input().split())
 
	a.add(c)
 
	b.add(d)
 
	print((ax-len(a))*(ax-len(b)), end = " ")

	 	    				  	 			 		   				 	

C++ Code:

#include <bits/stdc++.h>
using namespace std;
#define ll long long 
#define ii pair<ll,ll>
#define vi vector<int>
#define forn(i,n) for(int i = 0; i < int(n); i++)
#define forsn(i,s,n) for(int i = int(s); i < int(n); i++)
#define all(v) (v).begin(),(v).end()
#define FastIO ios_base::sync_with_stdio(false); cin.tie(NULL)
#define DBG(x) cerr << #x << " = " << (x) << endl
#define F first
#define S second
#define pb push_back
#define pf push_front
#define mp make_pair
#define el "\n"

int main() {
    FastIO;
    ll n,m;
    cin >> n >> m;
    map<ll, bool> cols;
    map<ll, bool> rows;
    ll r, c;
    ll tot = n*n;
    vector<ll> vec;
    while(m--) {
        bool rt = false, ct = false;
        cin >> r >> c;
        ll pos = (2*n)-1;
        // DBG(pos);

        if(rows.find(r) != rows.end()) {
            pos -= n;
            rt = true;
        } else {
            pos -= cols.size();
        }

        if(cols.find(c) != cols.end()) {
            pos -= n;
            ct = true;
        } else {
            pos-= rows.size();
        }

        if(rt and ct) {
            pos = 0;
        } else if(rt or ct) {
            pos++;
        }
        rows[r] = true;
        cols[c] = true;
        // DBG(pos);
        tot -= pos;
        vec.pb(tot);
    }
    cout << vec[0];
    for(ll i = 1; i < vec.size(); i++) {
        cout << " " << vec[i];
    }
    cout << el;
    return 0;
}

  		 			    	 			   			  			


Comments

Submit
0 Comments
More Questions

97. Interleaving String
543. Diameter of Binary Tree
124. Binary Tree Maximum Path Sum
1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts
501A - Contest
160A- Twins
752. Open the Lock
1535A - Fair Playoff
1538F - Interesting Function
1920. Build Array from Permutation
494. Target Sum
797. All Paths From Source to Target
1547B - Alphabetical Strings
1550A - Find The Array
118B - Present from Lena
27A - Next Test
785. Is Graph Bipartite
90. Subsets II
1560A - Dislike of Threes
36. Valid Sudoku
557. Reverse Words in a String III
566. Reshape the Matrix
167. Two Sum II - Input array is sorted
387. First Unique Character in a String
383. Ransom Note
242. Valid Anagram
141. Linked List Cycle
21. Merge Two Sorted Lists
203. Remove Linked List Elements
733. Flood Fill