codeforces - 738B - Spotlights (瞎搞)
2016-11-20 21:04
330 查看
codeforces - 738B - Spotlights (瞎搞)
题意:给出n*m的矩阵。其中1代表该点有演员。0代表该点可放置追光灯。
找出放置追光灯的方法数(追光灯向上下左右算4种)。
解法:
col,row记录在读到当前点之前该行/列有无演员。
最后全tm加一块就行。
#include<bits/stdc++.h> using namespace std; int maze[1010][1010]; int can[1010][1010]={0}; bool col[1010]={0},row[1010]={0}; bool col2[1010]={0},row2[1010]={0}; int n,m; int main() { cin>>n>>m; for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { scanf("%d",&maze[i][j]); if(maze[i][j]==0) { if(col[i])can[i][j]++; if(row[j])can[i][j]++; } else { col[i]=1; row[j]=1; } } } for(int i=n-1; i>=0; i--) { for(int j=m-1; j>=0; j--) { if(maze[i][j]==0) { if(col2[i])can[i][j]++; if(row2[j])can[i][j]++; } else { col2[i]=1; row2[j]=1; } } } __int64 ans=0; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { if(maze[i][j]==0) { ans+=can[i][j]; } } } cout<<ans<<endl; return 0; }
相关文章推荐
- 【Codeforces 738B】Spotlights
- CodeForces 738B - Spotlights(前缀和)
- codeforces 527B:瞎搞
- CodeForces 398A Cards 贪心 暴力 瞎搞
- codeforces 848B - Rooter's Song 瞎搞
- Codeforces 527 C Glass Carving----瞎搞
- Codeforces 876E:2-SAT 或者 瞎搞
- CodeForces 723F【DFS瞎搞】
- Codeforces_738B
- 【瞎搞】 Codeforces 460D Little Victor and Set 位运算构造
- CodeForces 489A (瞎搞) SwapSort
- Codeforces400D Dima and Bacteria
- Codeforces 570C Replacement 暴力
- codeforces 350 div2 D Magic Powder - 2 二分
- codeforces 16E 概率+状压dp
- CodeForces - 668B Little Artem and Dance(规律题)
- 【codeforces 255D】Mr. Bender and Square
- Codeforces 400E Inna and Binary Logic(位运算+暴力)
- CodeForces-570B Simple Game
- codeforces 670C Cinema