| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:我也是,真的懵逼In Reply To:我也是,真的懵逼 Posted by:hezongdnf at 2019-09-23 15:18:34 > #include <iostream>
> #include <cstdio>
> #include <cstring>
> #include <algorithm>
> #include <cmath>
> #include <set>
> #include <queue>
> using namespace std;
>
> #define mem(a) memset(a,0,sizeof(a))
> #define ll long long
> const int maxn = 100100;
> const int inf = 0x3f3f3f3f;
> int t,n,m;
> bool vis[10000];
> set<int> a;
> void init()
> {
> int i,j,k=0;
> for(i = 1001; i < 10000; i+=2)
> {
> for(j = 2; j <= sqrt(i); j++)
> {
> if(i%j == 0) break;
> }
> if(j > sqrt(i)) a.insert(i);
> }
> }
>
> struct node
> {
> int num,step;
> };
>
> void bfs()
> {
> mem(vis);
> node x,y;
> vis[n] = 1;
> x.num = n,x.step = 0;
> queue <node> q;
> q.push(x);
> while(!q.empty())
> {
> x = q.front();
> q.pop();
> if(x.num == m)
> {
> printf("%d\n",x.step);
> }
> int ge = x.num-x.num%10;
> int shi = x.num - (x.num%100-x.num%10);
> int bai = x.num - (x.num%1000/100)*100;
> int qi = x.num%1000;
> for(int i = 1; i <10 ; i+=2)
> {
> y.num = ge+i;
> if(a.count(y.num) && !vis[y.num])
> {
> y.step = x.step+1;
> vis[y.num] = 1;
> q.push(y);
> }
> }
> for(int i = 0; i <10 ; i++)
> {
> y.num = shi+i*10;
> if(a.count(y.num) && !vis[y.num])
> {
> y.step = x.step+1;
> vis[y.num] = 1;
> q.push(y);
> }
> }
> for(int i = 0; i <10 ; i++)
> {
> y.num = bai+i*100;
> if(a.count(y.num) && !vis[y.num])
> {
> y.step = x.step+1;
> vis[y.num] = 1;
> q.push(y);
> }
> }
> for(int i = 1; i <10 ; i++)
> {
> y.num = qi+i*1000;
> if(a.count(y.num) && !vis[y.num])
> {
> y.step = x.step+1;
> vis[y.num] = 1;
> q.push(y);
> }
> }
> }
> }
>
> int main()
> {
> //ios::sync_with_stdio(false);
> //cin.tie(0),cout.tie(0);
> init();
> scanf("%d",&t);
> while(t--)
> {
> scanf("%d%d",&n,&m);
> bfs();
> }
> return 0;
> }
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator