CDOJ 851 方老師與素數 BFS

2021-08-20 12:26:07 字數 2299 閱讀 2654

方老師最近很喜歡素數,他想玩乙個遊戲:

現在有兩個4位的素數n和m,你一次可以改變n的一位數字,並且改變過後的新數字必須也是個素數,並且也不能有前導0。請問使n變為m最少需要多少步。

例如n=1033 m=8179

那麼可行的變化是:

1033

1733

3733

3739

3779

8779

8179

第一行有乙個整數t(t≤100),代表測試資料的組數。

對於每組資料,每行有兩個4位素數n,m(沒有前導0)

輸出對於每一組資料,如果能夠得到m,輸出最少的步數,否則輸出impossible

sample input

31033

8179

1373

8017

1033

1033

sample output67

0

題意

bfs 不過這個地方搜尋的範圍變成了數字 原理還是一樣的,一層一層的搜尋

對拍了一下,**應該是對的,,

ac**

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

#define ls st<<1

#define rs st<<1|1

#define fst first

#define snd second

#define mp make_pair

#define pb push_back

#define ll long long

#define pii pair

#define vi vector

#define clr(a,b) memset(a, (b), sizeof(a))

#define all(x) x.begin(),x.end()

#define rep(i,s,e) for(int i=(s); i<=(e); i++)

#define tep(i,s,e) for(int i=(s); i>=(e); i--)

const

int inf = 0x3f3f3f3f;

const

int maxn = 10000+10;

const

int mod = 1e9+7;

const

double eps = 1e-8;

void fe()

ll read()

while (ch>='0'&&ch<='9') x=(x<<1)+(x<<3)+ch-'0',ch=getchar();

return x*f;

}int n, m, cnt = 0;

int pr[maxn];

int prr[maxn];

bool vis[maxn*10];

struct node

};void get_prime()

for (int j = 1; j <= pr[0] && pr[j] <= maxn / i; j++)}}

}bool check(int x, int y)

if(k == 1)

return

true;

return

false;

}void bfs()

for(int i = 0; i < cnt; i++) }}

cout

<< "impossiblie\n";

}int main(int argc, char

const *argv)

while(t--)

return

0;}

CDOJ 885 方老師買錶

方老師買錶 time limit 1000ms memory limit 65535kb 64bit io format lld llu submit status description 由於方老師出色的專題講座,他的名氣迅速擴散到全國各地,並通過各地的講座賺到了很多錢,鑑於現在盛行買錶,於是方老...

老方也玩Cacti RRDTool續

但是,當你實現一種需求時,總想著是否能實現另外一種需求,這就有點像公司老闆對員工的期望一樣,恨不得乙個人的潛能發揮到最大,當成多個人用一樣。搞過web的人都知道,能對頁面的訪問進行授權,充許一些人訪問一些頁面。現在這種情況也需要放在我們的流量監控體系中。公司的流量監控體系所運作的範圍不只是120多台...

CQOI2017 bzoj4823 老C的方塊

可以注意到,每乙個討厭的形狀,都可以看成一條特殊邊兩側的方塊再各連出去乙個方塊。這樣我們可以把格仔分成四類,如圖。每乙個討厭的形狀,都可以看成是黃 黑 紅 綠。因此分四層建圖跑最小割就行了。include include include using namespace std const int m...