【数论】CF#364 div.2 B.Cells Not Under Attack
2016-08-05 16:06
429 查看
题目链接:
http://codeforces.com/contest/701/problem/B
大意:
在棋盘上下棋子,每个棋子占领同排同列的所有格子,统计每一步之后没有被占领的格子数目。
题解:
统计被棋子占领的行数和列数,设为cnx,cny;则占领重复的格子数为cnx*cny;
占领数为 cnt=cnx*n+cny*n-cnx*cny;
代码如下:
http://codeforces.com/contest/701/problem/B
大意:
在棋盘上下棋子,每个棋子占领同排同列的所有格子,统计每一步之后没有被占领的格子数目。
题解:
统计被棋子占领的行数和列数,设为cnx,cny;则占领重复的格子数为cnx*cny;
占领数为 cnt=cnx*n+cny*n-cnx*cny;
代码如下:
#include <iostream> #include<cstring> #include<cstdio> using namespace std; #define MAXN 100005 int x[MAXN]; int y[MAXN]; long long ans; long long cnt,cnx,cny; long long n,m,p,q; int main() { //freopen("in.txt","r",stdin); while(cin>>n>>m) { memset(x,0,sizeof(x)); memset(y,0,sizeof(y)); cnx=0,cny=0; ans=n*n; for(int i=1; i<=m; i++) { cin>>p>>q; if(!x[p]) cnx++,x[p]=1; if(!y[q]) cny++,y[q]=1; cnt=cnx*n+cny*n-cnx*cny; cout<<ans-cnt<<" "; } cout<<endl; } return 0; }
相关文章推荐
- 简单的四则运算
- 数的奇偶性
- ACMer博客瀑布流分析
- 【CF 应用开发大赛】MZCMS内容管理系统
- ACM程序设计大赛题目分类
- 2015年acm国内排名
- 计算字符串最后一个单词长度
- win7系统登录cf穿越火线出现atl71错误的解决方法
- Win7系统登录CF不能选区怎么办?Win7系统登录CF穿越火线没显示选区界面的解决方法
- ACM网址
- 1272 小希的迷宫
- 1272 小希的迷宫
- hdu 1250 大数相加并用数组储存
- windows 7 玩不了CF 打开之后进入安全登录就自动关闭
- 矩阵的乘法操作
- 1.m分解阶乘之和
- 2.几种递推数
- 3.欧拉函数
- 4.快速幂模m算法
- 5.扩展欧几里得&&中国剩余定理