平面格子中,可以一行或一列地染色,则其重复染的格子为len1*len2

#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll n,m; 
set<ll>s1,s2;   //分别记录行和列的个数 
int main(){
    cin >> n >> m;
    while(m--){
        ll a,b,ans;
        cin >> a >> b;
        s1.insert(a);
        s2.insert(b);
        ll len1=s1.size(),len2=s2.size();  //len1,len2分别为被染行和列的个数
        ans=n*n-len1*n-len2*n+len1*len2;  //精华
        cout << ans << " ";
    }
    return 0;
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务