hdu 4414 Finding crosses
生活随笔
收集整理的這篇文章主要介紹了
hdu 4414 Finding crosses
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://acm.hdu.edu.cn/showproblem.php?pid=4414
簡單枚舉
代碼:
#include <iostream> #include <cstdio> #include <cstring> #include <string> #include <queue> #include <vector> #include <algorithm>#define LL long long //#pragma comment(linker, "/STACK:1024000000,1024000000") using namespace std; const int N=105; string figure[N]; int n; bool cross(int I,int J) {int k1=0,k2=0,k3=0,k4=0;for(int j=J+1;j<n;++j){if(figure[I][j]=='#'){if(figure[I-1][j]=='o'&&figure[I+1][j]=='o')++k1;elsereturn false;}elsebreak;}if(k1==0)return false;for(int j=J-1;j>=0;--j){if(figure[I][j]=='#'){if(figure[I-1][j]=='o'&&figure[I+1][j]=='o')++k2;elsereturn false;}elsebreak;}if(k1!=k2)return false;for(int i=I+1;i<n;++i){if(figure[i][J]=='#'){if(figure[i][J+1]=='o'&&figure[i][J-1]=='o')++k3;elsereturn false;}elsebreak;}if(k1!=k3)return false;for(int i=I-1;i>=0;--i){if(figure[i][J]=='#'){if(figure[i][J+1]=='o'&&figure[i][J-1]=='o')++k4;elsereturn false;}elsebreak;}if(k1!=k4)return false;return true;} int main() {//freopen("data.txt","r",stdin);while(cin>>n){if(n==0)break;for(int i=0;i<n;++i)cin>>figure[i];int ans=0;for(int i=1;i<n-1;++i){for(int j=1;j<n-1;++j){if(figure[i][j]=='#'&&cross(i,j))++ans;}}cout<<ans<<endl;}return 0; }?
轉載于:https://www.cnblogs.com/liulangye/archive/2012/09/26/2703410.html
總結
以上是生活随笔為你收集整理的hdu 4414 Finding crosses的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (转)千万别熬夜:身体器官晚上工作时间表
- 下一篇: [BT5]信息收集1-2 Dnsmap