HDU 1973 BFS 素數打表

2021-06-19 01:21:45 字數 477 閱讀 8013

思路:先素數打表,把1到10005範圍內的素數找出來,然後把要輸入的兩個數當做字串輸入,然後進行廣搜

廣搜的思路就是,把每一位數都變化一下,存入佇列中,然後不斷的比較,就可以得出結果了!!!!

#include #include #include #include #include #include using namespace std;

const int maxn=10005;

string s1,s2;

int n;

int prime[maxn];

int visit[maxn];

struct node ;

void isprime()

for(i=0; i<4; i++) }}

}puts("impossible");

}int main()

}return 0;

}

hdu 1973 bfs 素數判斷

題意 給出兩個四位數,現要改變第乙個數中的個,十,百,千位當中的乙個數 使它最終變成第二個數,要求這過程中形成的數是素數,問最少的步驟 題解 素數篩選 bfs sample input 3 1033 8179 1373 8017 1033 1033 sample output 6 7 0 注意第一位...

hdu 4548 素數打表

方法 篩法打表,再將是素數的中判斷是不是美素數。比較裸。但是就是一開始這樣做會超時。重新用乙個陣列來儲存到當前數字時已經出現了幾個美素數,最後將區間兩端所對應的相互減一下就可以了。include include include using namespace std define m 1000001...

HDU 2521 反素數 打表

problem description 反素數就是滿足對於任意i 0 input 第一行輸入n,接下來n行測試資料 輸入包括a,b,1 a b 5000,表示閉區間 a,b output 輸出為乙個整數,為該區間因子最多的數.如果滿足條件有多個,則輸出其中最小的數.sample input 32 3...