poj3050 穷竭搜索 挑战程序设计竞赛
生活随笔
收集整理的這篇文章主要介紹了
poj3050 穷竭搜索 挑战程序设计竞赛
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2018-1-31
一開始題目沒有讀懂,沒有看到樣例中的唯一的2。。。
這題用STL里的set求解極為方便,因為set里的元素是不相同的,最后只要輸出它的size即可
#include<iostream> #include<set> using namespace std;const int N = 1000, M = 5; int x[M+1][M+1]; int dx[4]={-1,1,0,0},dy[4]={0,0,-1,1}; set<int>ss;bool isvalid(int i,int j){if (i<1||i>M||j<1||j>M) return false;return true; }void dfs(int s,int step,int i,int j){if (step>M+1) return;if (step==M+1){ss.insert(s);}for (int k=0;k<4;k++){int nx=i+dx[k],ny=j+dy[k];if (isvalid(nx,ny)){dfs(s*10+x[nx][ny],step+1,nx,ny);}} }int main(){for (int i=1;i<=M;i++){for (int j=1;j<=M;j++){cin>>x[i][j];}}for (int i=1;i<=M;i++){for (int j=1;j<=M;j++){dfs(0,0,i,j);}}cout<<ss.size()<<endl;return 0; }總結
以上是生活随笔為你收集整理的poj3050 穷竭搜索 挑战程序设计竞赛的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决tensorflow在训练的时候权重
- 下一篇: [转] Java @interface