跳过正文
  1. Posts/

poj 3278 catch that cow

·1 分钟

http://poj.org/problem?id=3278

bfs,用到了stl的queue

 1
 2
 3    /* ***********************************************
 4    Author :111qqz
 5    Created Time :2016年02月19日 星期五 15时45分05秒
 6    File Name :3278.cpp
 7    ************************************************ */
 8
 9    #include <algorithm>
10    #include <cstdio>
11    #include <iostream>
12    #include <cstring>
13    #include <string>
14    #include <cmath>
15    #include <map>
16    #include <stack>
17    #include <queue>
18
19    using namespace std;
20    typedef long long LL;
21    const int inf = 8E8;
22    const int N=2E5+7;
23    int d[N];
24    int n,k;
25    void bfs()
26    {
27        queue<int> q;
28        memset(d,-1,sizeof(d));
29        q.push(n);
30        d[n]=0;
31        while (!q.empty())
32        {
33            int x = q.front();
34            q.pop();
35            if ( x==k )
36            {
37                break;
38            }
39            int next[10];
40            next[1]=x-1;
41            next[2]=x+1;
42            next[3]=2*x;
43            for ( int i = 1; i <= 3 ; i++ )
44            {
45                if (next[i]>=0&&next[i]<=100000&&d[next[i]]==-1)
46                {
47                    d[next[i]]=d[x]+1;
48                    q.push(next[i]);
49                }
50            }
51        }
52
53
54    }
55    int main()
56    {
57        while (scanf("%d %d",&n,&k)!=EOF)
58        {
59            bfs();
60            cout<<d[k]<<endl;
61        }
62    	return 0;
63    }

相关文章

POJ 1028 Web Navigation

·1 分钟
http://poj.org/problem?id=1028 1 2 3 4 /* *********************************************** 5 Author :111qqz 6 Created Time :2016年02月19日 星期五 15时45分01秒 7 File Name :1028.cpp 8 ************************************************ */ 9 10 #include <algorithm> 11 #include <cstdio> 12 #include <iostream> 13 #include <cstring> 14 #include <string> 15 #include <cmath> 16 #include <map> 17 #include <stack> 18 #include <queue> 19 20 using namespace std; 21 typedef long long LL; 22 const int inf = 8E8; 23 stack<string> backstack; 24 stack<string> forwardstack; 25 string cur; 26 string cmd; 27 int main() 28 { 29 cur ="http://www.acm.org/"; 30 31 while (cin>>cmd) 32 { 33 if (cmd=="QUIT") 34 { 35 break; 36 } 37 if (cmd=="BACK") 38 { 39 if (backstack.empty()) 40 { 41 cout<<"Ignored"<<endl; 42 continue; 43 } 44 forwardstack.push(cur); 45 cur=backstack.top(); 46 backstack.pop(); 47 cout<<cur<<endl; 48 } 49 if (cmd=="FORWARD") 50 { 51 if (forwardstack.empty()) 52 { 53 cout<<"Ignored"<<endl; 54 continue; 55 } 56 backstack.push(cur); 57 cur=forwardstack.top(); 58 forwardstack.pop(); 59 cout<<cur<<endl; 60 } 61 if (cmd=="VISIT") 62 { 63 backstack.push(cur); 64 65 cin>>cur; 66 while (!forwardstack.empty()) forwardstack.pop(); 67 cout<<cur<<endl; 68 69 } 70 } 71 72 73 return 0; 74 }

poj 1833 排列

·1 分钟
http://poj.org/problem?id=1833 还是next_permutation. 这次是Int类型的 需要注意的是next_permutation是先判断时候有后继,返回一个bool值,如果为true,就转化到后继。

poj 1256 Anagram

·1 分钟
http://poj.org/problem?id=1256 题意是说求出一个字符串的全排列,按字典序 需要注意的是字典序和传统意义上的字典序不同