Uva 201 Squares (暴力 + 枚举)
生活随笔
收集整理的這篇文章主要介紹了
Uva 201 Squares (暴力 + 枚举)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
【題意】
?給出? n*n 的 點(diǎn)
H 橫向? V? 縱向? (注意)? V? 想 I,j? 相反
問(wèn) 邊 為1 ,2 , 3 。。。。 n 的? 正方向有幾個(gè)
【思路】
n 很小 直接暴力 枚舉
枚舉 兩個(gè)點(diǎn), 看看? 從 左上角 到右下角 (變成為 s的 兩個(gè)點(diǎn))能否能? 打通,?
【代碼實(shí)現(xiàn)】
#include <iostream> #include <stdio.h> #include <bits/stdc++.h> #include <string.h> #define FIN freopen("input.txt","r",stdin) #define FOUT freopen("output.txt","w",stdout)const int INF=0x3f3f3f3f;const int MAXN=1e5+5;using namespace std;int n,m; int h[105][105]; int v[105][105];int main() {//FIN;// FOUT;int cont=0;while(~scanf("%d %d",&n,&m)){char op;int x,y;memset(h,0,sizeof(h));memset(v,0,sizeof(v));while(m--){cin>>op>>x>>y;if(op=='H')h[x][y]=1;elsev[y][x]=1;}int sum=0;if(cont)printf("\n**********************************\n\n");printf("Problem #%d\n\n",++cont);for(int s=1;s<=n;s++)// 邊從1-n{int ans=0,flag;// ans 統(tǒng)計(jì) 個(gè)數(shù)for(int i=1;i<=n-s;i++)// 暴力枚舉for(int j=1;j<=n-s;j++)// 控制在n的范圍內(nèi){flag=1;for(int k=j;k<j+s&&flag;k++)// 控制長(zhǎng)度if(!h[i][k]||!h[i+s][k]) flag=0;for(int l=i;l<i+s&&flag;l++)if(!v[l][j]||!v[l][j+s]) flag=0;if(flag)ans++;}sum+=ans;// cout<<ans<<endl;if(ans)printf("%d square (s) of size %d\n",ans,s);}if(!sum)printf("No completed squares can be found.\n");}return 0; }123
轉(zhuǎn)載于:https://www.cnblogs.com/sizaif/p/9078417.html
總結(jié)
以上是生活随笔為你收集整理的Uva 201 Squares (暴力 + 枚举)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 记一次被动的网卡升级:VMWare导致的
- 下一篇: Win10安装Python3.9