Time Limit: 1000MS   Memory Limit: 65536KB   64bit IO Format: %I64d & %I64u

Submit Status

Description

The ministers of the cabinet were quite upset by the message from the Chief of Security stating that they would all have to change the four-digit room numbers
on their offices. 

— It is a matter of security to change such things every now and then, to keep the enemy in the dark. 

— But look, I have chosen my number 1033 for good reasons. I am the Prime minister, you know! 

— I know, so therefore your new number 8179 is also a prime. You will just have to paste four new digits over the four old ones on your office door. 

— No, it’s not that simple. Suppose that I change the first digit to an 8, then the number will read 8033 which is not a prime! 

— I see, being the prime minister you cannot stand having a non-prime number on your door even for a few seconds. 

— Correct! So I must invent a scheme for going from 1033 to 8179 by a path of prime numbers where only one digit is changed from one prime to the next prime. 



Now, the minister of finance, who had been eavesdropping, intervened. 

— No unnecessary expenditure, please! I happen to know that the price of a digit is one pound. 

— Hmm, in that case I need a computer program to minimize the cost. You don't know some very cheap software gurus, do you? 

— In fact, I do. You see, there is this programming contest going on... Help the prime minister to find the cheapest prime path between any two given four-digit primes! The first digit must be nonzero, of course. Here is a solution in the case above.

1033 

1733 

3733 

3739 

3779 

8779 

8179

The cost of this solution is 6 pounds. Note that the digit 1 which got pasted over in step 2 can not be reused in the last step – a new 1 must be purchased.

Input

One line with a positive number: the number of test cases (at most 100). Then for each test case, one line with two numbers separated by a blank. Both numbers are four-digit primes (without leading zeros).

Output

One line for each case, either with a number stating the minimal cost or containing the word Impossible.

Sample Input

3
1033 8179
1373 8017
1033 1033

Sample Output

6
7
0

题意是给两个质数a和b,每次只能变a中的一位,且变完后的a也要是一个质数,问经过多少次变换能变成b。

广度优先搜索很典型了,只是还是觉得自己这样做比较麻烦,把a每一次能到达的数a‘弄到queue里面。只是一开始a'的判断TLE了,觉得是每次判断是不是质数浪费了时间。所以把从1000到10000的质数全都列了出来,这样不用一个一个判断了,在里面就是质数,不在里面就out。

我觉得其他人肯定有更好的方法,自己还是要好好学习。

代码:

#include <iostream>
#include <algorithm>
#include <cmath>
#include <vector>
#include <string>
#include <queue>
#include <cstring>
#pragma warning(disable:4996)
using namespace std; queue <int> q;
int ans[10005];
int a[1065]; bool pend(int b)
{
int i;
for(i=0;i<=1060;i++)
{
if(b==a[i])
return true;
}
return false;
} int main()
{
a[0]=1009;
a[1]=1013;
a[2]=1019;
a[3]=1021;
a[4]=1031;
a[5]=1033;
a[6]=1039;
a[7]=1049;
a[8]=1051;
a[9]=1061;
a[10]=1063;
a[11]=1069;
a[12]=1087;
a[13]=1091;
a[14]=1093;
a[15]=1097;
a[16]=1103;
a[17]=1109;
a[18]=1117;
a[19]=1123;
a[20]=1129;
a[21]=1151;
a[22]=1153;
a[23]=1163;
a[24]=1171;
a[25]=1181;
a[26]=1187;
a[27]=1193;
a[28]=1201;
a[29]=1213;
a[30]=1217;
a[31]=1223;
a[32]=1229;
a[33]=1231;
a[34]=1237;
a[35]=1249;
a[36]=1259;
a[37]=1277;
a[38]=1279;
a[39]=1283;
a[40]=1289;
a[41]=1291;
a[42]=1297;
a[43]=1301;
a[44]=1303;
a[45]=1307;
a[46]=1319;
a[47]=1321;
a[48]=1327;
a[49]=1361;
a[50]=1367;
a[51]=1373;
a[52]=1381;
a[53]=1399;
a[54]=1409;
a[55]=1423;
a[56]=1427;
a[57]=1429;
a[58]=1433;
a[59]=1439;
a[60]=1447;
a[61]=1451;
a[62]=1453;
a[63]=1459;
a[64]=1471;
a[65]=1481;
a[66]=1483;
a[67]=1487;
a[68]=1489;
a[69]=1493;
a[70]=1499;
a[71]=1511;
a[72]=1523;
a[73]=1531;
a[74]=1543;
a[75]=1549;
a[76]=1553;
a[77]=1559;
a[78]=1567;
a[79]=1571;
a[80]=1579;
a[81]=1583;
a[82]=1597;
a[83]=1601;
a[84]=1607;
a[85]=1609;
a[86]=1613;
a[87]=1619;
a[88]=1621;
a[89]=1627;
a[90]=1637;
a[91]=1657;
a[92]=1663;
a[93]=1667;
a[94]=1669;
a[95]=1693;
a[96]=1697;
a[97]=1699;
a[98]=1709;
a[99]=1721;
a[100]=1723;
a[101]=1733;
a[102]=1741;
a[103]=1747;
a[104]=1753;
a[105]=1759;
a[106]=1777;
a[107]=1783;
a[108]=1787;
a[109]=1789;
a[110]=1801;
a[111]=1811;
a[112]=1823;
a[113]=1831;
a[114]=1847;
a[115]=1861;
a[116]=1867;
a[117]=1871;
a[118]=1873;
a[119]=1877;
a[120]=1879;
a[121]=1889;
a[122]=1901;
a[123]=1907;
a[124]=1913;
a[125]=1931;
a[126]=1933;
a[127]=1949;
a[128]=1951;
a[129]=1973;
a[130]=1979;
a[131]=1987;
a[132]=1993;
a[133]=1997;
a[134]=1999;
a[135]=2003;
a[136]=2011;
a[137]=2017;
a[138]=2027;
a[139]=2029;
a[140]=2039;
a[141]=2053;
a[142]=2063;
a[143]=2069;
a[144]=2081;
a[145]=2083;
a[146]=2087;
a[147]=2089;
a[148]=2099;
a[149]=2111;
a[150]=2113;
a[151]=2129;
a[152]=2131;
a[153]=2137;
a[154]=2141;
a[155]=2143;
a[156]=2153;
a[157]=2161;
a[158]=2179;
a[159]=2203;
a[160]=2207;
a[161]=2213;
a[162]=2221;
a[163]=2237;
a[164]=2239;
a[165]=2243;
a[166]=2251;
a[167]=2267;
a[168]=2269;
a[169]=2273;
a[170]=2281;
a[171]=2287;
a[172]=2293;
a[173]=2297;
a[174]=2309;
a[175]=2311;
a[176]=2333;
a[177]=2339;
a[178]=2341;
a[179]=2347;
a[180]=2351;
a[181]=2357;
a[182]=2371;
a[183]=2377;
a[184]=2381;
a[185]=2383;
a[186]=2389;
a[187]=2393;
a[188]=2399;
a[189]=2411;
a[190]=2417;
a[191]=2423;
a[192]=2437;
a[193]=2441;
a[194]=2447;
a[195]=2459;
a[196]=2467;
a[197]=2473;
a[198]=2477;
a[199]=2503;
a[200]=2521;
a[201]=2531;
a[202]=2539;
a[203]=2543;
a[204]=2549;
a[205]=2551;
a[206]=2557;
a[207]=2579;
a[208]=2591;
a[209]=2593;
a[210]=2609;
a[211]=2617;
a[212]=2621;
a[213]=2633;
a[214]=2647;
a[215]=2657;
a[216]=2659;
a[217]=2663;
a[218]=2671;
a[219]=2677;
a[220]=2683;
a[221]=2687;
a[222]=2689;
a[223]=2693;
a[224]=2699;
a[225]=2707;
a[226]=2711;
a[227]=2713;
a[228]=2719;
a[229]=2729;
a[230]=2731;
a[231]=2741;
a[232]=2749;
a[233]=2753;
a[234]=2767;
a[235]=2777;
a[236]=2789;
a[237]=2791;
a[238]=2797;
a[239]=2801;
a[240]=2803;
a[241]=2819;
a[242]=2833;
a[243]=2837;
a[244]=2843;
a[245]=2851;
a[246]=2857;
a[247]=2861;
a[248]=2879;
a[249]=2887;
a[250]=2897;
a[251]=2903;
a[252]=2909;
a[253]=2917;
a[254]=2927;
a[255]=2939;
a[256]=2953;
a[257]=2957;
a[258]=2963;
a[259]=2969;
a[260]=2971;
a[261]=2999;
a[262]=3001;
a[263]=3011;
a[264]=3019;
a[265]=3023;
a[266]=3037;
a[267]=3041;
a[268]=3049;
a[269]=3061;
a[270]=3067;
a[271]=3079;
a[272]=3083;
a[273]=3089;
a[274]=3109;
a[275]=3119;
a[276]=3121;
a[277]=3137;
a[278]=3163;
a[279]=3167;
a[280]=3169;
a[281]=3181;
a[282]=3187;
a[283]=3191;
a[284]=3203;
a[285]=3209;
a[286]=3217;
a[287]=3221;
a[288]=3229;
a[289]=3251;
a[290]=3253;
a[291]=3257;
a[292]=3259;
a[293]=3271;
a[294]=3299;
a[295]=3301;
a[296]=3307;
a[297]=3313;
a[298]=3319;
a[299]=3323;
a[300]=3329;
a[301]=3331;
a[302]=3343;
a[303]=3347;
a[304]=3359;
a[305]=3361;
a[306]=3371;
a[307]=3373;
a[308]=3389;
a[309]=3391;
a[310]=3407;
a[311]=3413;
a[312]=3433;
a[313]=3449;
a[314]=3457;
a[315]=3461;
a[316]=3463;
a[317]=3467;
a[318]=3469;
a[319]=3491;
a[320]=3499;
a[321]=3511;
a[322]=3517;
a[323]=3527;
a[324]=3529;
a[325]=3533;
a[326]=3539;
a[327]=3541;
a[328]=3547;
a[329]=3557;
a[330]=3559;
a[331]=3571;
a[332]=3581;
a[333]=3583;
a[334]=3593;
a[335]=3607;
a[336]=3613;
a[337]=3617;
a[338]=3623;
a[339]=3631;
a[340]=3637;
a[341]=3643;
a[342]=3659;
a[343]=3671;
a[344]=3673;
a[345]=3677;
a[346]=3691;
a[347]=3697;
a[348]=3701;
a[349]=3709;
a[350]=3719;
a[351]=3727;
a[352]=3733;
a[353]=3739;
a[354]=3761;
a[355]=3767;
a[356]=3769;
a[357]=3779;
a[358]=3793;
a[359]=3797;
a[360]=3803;
a[361]=3821;
a[362]=3823;
a[363]=3833;
a[364]=3847;
a[365]=3851;
a[366]=3853;
a[367]=3863;
a[368]=3877;
a[369]=3881;
a[370]=3889;
a[371]=3907;
a[372]=3911;
a[373]=3917;
a[374]=3919;
a[375]=3923;
a[376]=3929;
a[377]=3931;
a[378]=3943;
a[379]=3947;
a[380]=3967;
a[381]=3989;
a[382]=4001;
a[383]=4003;
a[384]=4007;
a[385]=4013;
a[386]=4019;
a[387]=4021;
a[388]=4027;
a[389]=4049;
a[390]=4051;
a[391]=4057;
a[392]=4073;
a[393]=4079;
a[394]=4091;
a[395]=4093;
a[396]=4099;
a[397]=4111;
a[398]=4127;
a[399]=4129;
a[400]=4133;
a[401]=4139;
a[402]=4153;
a[403]=4157;
a[404]=4159;
a[405]=4177;
a[406]=4201;
a[407]=4211;
a[408]=4217;
a[409]=4219;
a[410]=4229;
a[411]=4231;
a[412]=4241;
a[413]=4243;
a[414]=4253;
a[415]=4259;
a[416]=4261;
a[417]=4271;
a[418]=4273;
a[419]=4283;
a[420]=4289;
a[421]=4297;
a[422]=4327;
a[423]=4337;
a[424]=4339;
a[425]=4349;
a[426]=4357;
a[427]=4363;
a[428]=4373;
a[429]=4391;
a[430]=4397;
a[431]=4409;
a[432]=4421;
a[433]=4423;
a[434]=4441;
a[435]=4447;
a[436]=4451;
a[437]=4457;
a[438]=4463;
a[439]=4481;
a[440]=4483;
a[441]=4493;
a[442]=4507;
a[443]=4513;
a[444]=4517;
a[445]=4519;
a[446]=4523;
a[447]=4547;
a[448]=4549;
a[449]=4561;
a[450]=4567;
a[451]=4583;
a[452]=4591;
a[453]=4597;
a[454]=4603;
a[455]=4621;
a[456]=4637;
a[457]=4639;
a[458]=4643;
a[459]=4649;
a[460]=4651;
a[461]=4657;
a[462]=4663;
a[463]=4673;
a[464]=4679;
a[465]=4691;
a[466]=4703;
a[467]=4721;
a[468]=4723;
a[469]=4729;
a[470]=4733;
a[471]=4751;
a[472]=4759;
a[473]=4783;
a[474]=4787;
a[475]=4789;
a[476]=4793;
a[477]=4799;
a[478]=4801;
a[479]=4813;
a[480]=4817;
a[481]=4831;
a[482]=4861;
a[483]=4871;
a[484]=4877;
a[485]=4889;
a[486]=4903;
a[487]=4909;
a[488]=4919;
a[489]=4931;
a[490]=4933;
a[491]=4937;
a[492]=4943;
a[493]=4951;
a[494]=4957;
a[495]=4967;
a[496]=4969;
a[497]=4973;
a[498]=4987;
a[499]=4993;
a[500]=4999;
a[501]=5003;
a[502]=5009;
a[503]=5011;
a[504]=5021;
a[505]=5023;
a[506]=5039;
a[507]=5051;
a[508]=5059;
a[509]=5077;
a[510]=5081;
a[511]=5087;
a[512]=5099;
a[513]=5101;
a[514]=5107;
a[515]=5113;
a[516]=5119;
a[517]=5147;
a[518]=5153;
a[519]=5167;
a[520]=5171;
a[521]=5179;
a[522]=5189;
a[523]=5197;
a[524]=5209;
a[525]=5227;
a[526]=5231;
a[527]=5233;
a[528]=5237;
a[529]=5261;
a[530]=5273;
a[531]=5279;
a[532]=5281;
a[533]=5297;
a[534]=5303;
a[535]=5309;
a[536]=5323;
a[537]=5333;
a[538]=5347;
a[539]=5351;
a[540]=5381;
a[541]=5387;
a[542]=5393;
a[543]=5399;
a[544]=5407;
a[545]=5413;
a[546]=5417;
a[547]=5419;
a[548]=5431;
a[549]=5437;
a[550]=5441;
a[551]=5443;
a[552]=5449;
a[553]=5471;
a[554]=5477;
a[555]=5479;
a[556]=5483;
a[557]=5501;
a[558]=5503;
a[559]=5507;
a[560]=5519;
a[561]=5521;
a[562]=5527;
a[563]=5531;
a[564]=5557;
a[565]=5563;
a[566]=5569;
a[567]=5573;
a[568]=5581;
a[569]=5591;
a[570]=5623;
a[571]=5639;
a[572]=5641;
a[573]=5647;
a[574]=5651;
a[575]=5653;
a[576]=5657;
a[577]=5659;
a[578]=5669;
a[579]=5683;
a[580]=5689;
a[581]=5693;
a[582]=5701;
a[583]=5711;
a[584]=5717;
a[585]=5737;
a[586]=5741;
a[587]=5743;
a[588]=5749;
a[589]=5779;
a[590]=5783;
a[591]=5791;
a[592]=5801;
a[593]=5807;
a[594]=5813;
a[595]=5821;
a[596]=5827;
a[597]=5839;
a[598]=5843;
a[599]=5849;
a[600]=5851;
a[601]=5857;
a[602]=5861;
a[603]=5867;
a[604]=5869;
a[605]=5879;
a[606]=5881;
a[607]=5897;
a[608]=5903;
a[609]=5923;
a[610]=5927;
a[611]=5939;
a[612]=5953;
a[613]=5981;
a[614]=5987;
a[615]=6007;
a[616]=6011;
a[617]=6029;
a[618]=6037;
a[619]=6043;
a[620]=6047;
a[621]=6053;
a[622]=6067;
a[623]=6073;
a[624]=6079;
a[625]=6089;
a[626]=6091;
a[627]=6101;
a[628]=6113;
a[629]=6121;
a[630]=6131;
a[631]=6133;
a[632]=6143;
a[633]=6151;
a[634]=6163;
a[635]=6173;
a[636]=6197;
a[637]=6199;
a[638]=6203;
a[639]=6211;
a[640]=6217;
a[641]=6221;
a[642]=6229;
a[643]=6247;
a[644]=6257;
a[645]=6263;
a[646]=6269;
a[647]=6271;
a[648]=6277;
a[649]=6287;
a[650]=6299;
a[651]=6301;
a[652]=6311;
a[653]=6317;
a[654]=6323;
a[655]=6329;
a[656]=6337;
a[657]=6343;
a[658]=6353;
a[659]=6359;
a[660]=6361;
a[661]=6367;
a[662]=6373;
a[663]=6379;
a[664]=6389;
a[665]=6397;
a[666]=6421;
a[667]=6427;
a[668]=6449;
a[669]=6451;
a[670]=6469;
a[671]=6473;
a[672]=6481;
a[673]=6491;
a[674]=6521;
a[675]=6529;
a[676]=6547;
a[677]=6551;
a[678]=6553;
a[679]=6563;
a[680]=6569;
a[681]=6571;
a[682]=6577;
a[683]=6581;
a[684]=6599;
a[685]=6607;
a[686]=6619;
a[687]=6637;
a[688]=6653;
a[689]=6659;
a[690]=6661;
a[691]=6673;
a[692]=6679;
a[693]=6689;
a[694]=6691;
a[695]=6701;
a[696]=6703;
a[697]=6709;
a[698]=6719;
a[699]=6733;
a[700]=6737;
a[701]=6761;
a[702]=6763;
a[703]=6779;
a[704]=6781;
a[705]=6791;
a[706]=6793;
a[707]=6803;
a[708]=6823;
a[709]=6827;
a[710]=6829;
a[711]=6833;
a[712]=6841;
a[713]=6857;
a[714]=6863;
a[715]=6869;
a[716]=6871;
a[717]=6883;
a[718]=6899;
a[719]=6907;
a[720]=6911;
a[721]=6917;
a[722]=6947;
a[723]=6949;
a[724]=6959;
a[725]=6961;
a[726]=6967;
a[727]=6971;
a[728]=6977;
a[729]=6983;
a[730]=6991;
a[731]=6997;
a[732]=7001;
a[733]=7013;
a[734]=7019;
a[735]=7027;
a[736]=7039;
a[737]=7043;
a[738]=7057;
a[739]=7069;
a[740]=7079;
a[741]=7103;
a[742]=7109;
a[743]=7121;
a[744]=7127;
a[745]=7129;
a[746]=7151;
a[747]=7159;
a[748]=7177;
a[749]=7187;
a[750]=7193;
a[751]=7207;
a[752]=7211;
a[753]=7213;
a[754]=7219;
a[755]=7229;
a[756]=7237;
a[757]=7243;
a[758]=7247;
a[759]=7253;
a[760]=7283;
a[761]=7297;
a[762]=7307;
a[763]=7309;
a[764]=7321;
a[765]=7331;
a[766]=7333;
a[767]=7349;
a[768]=7351;
a[769]=7369;
a[770]=7393;
a[771]=7411;
a[772]=7417;
a[773]=7433;
a[774]=7451;
a[775]=7457;
a[776]=7459;
a[777]=7477;
a[778]=7481;
a[779]=7487;
a[780]=7489;
a[781]=7499;
a[782]=7507;
a[783]=7517;
a[784]=7523;
a[785]=7529;
a[786]=7537;
a[787]=7541;
a[788]=7547;
a[789]=7549;
a[790]=7559;
a[791]=7561;
a[792]=7573;
a[793]=7577;
a[794]=7583;
a[795]=7589;
a[796]=7591;
a[797]=7603;
a[798]=7607;
a[799]=7621;
a[800]=7639;
a[801]=7643;
a[802]=7649;
a[803]=7669;
a[804]=7673;
a[805]=7681;
a[806]=7687;
a[807]=7691;
a[808]=7699;
a[809]=7703;
a[810]=7717;
a[811]=7723;
a[812]=7727;
a[813]=7741;
a[814]=7753;
a[815]=7757;
a[816]=7759;
a[817]=7789;
a[818]=7793;
a[819]=7817;
a[820]=7823;
a[821]=7829;
a[822]=7841;
a[823]=7853;
a[824]=7867;
a[825]=7873;
a[826]=7877;
a[827]=7879;
a[828]=7883;
a[829]=7901;
a[830]=7907;
a[831]=7919;
a[832]=7927;
a[833]=7933;
a[834]=7937;
a[835]=7949;
a[836]=7951;
a[837]=7963;
a[838]=7993;
a[839]=8009;
a[840]=8011;
a[841]=8017;
a[842]=8039;
a[843]=8053;
a[844]=8059;
a[845]=8069;
a[846]=8081;
a[847]=8087;
a[848]=8089;
a[849]=8093;
a[850]=8101;
a[851]=8111;
a[852]=8117;
a[853]=8123;
a[854]=8147;
a[855]=8161;
a[856]=8167;
a[857]=8171;
a[858]=8179;
a[859]=8191;
a[860]=8209;
a[861]=8219;
a[862]=8221;
a[863]=8231;
a[864]=8233;
a[865]=8237;
a[866]=8243;
a[867]=8263;
a[868]=8269;
a[869]=8273;
a[870]=8287;
a[871]=8291;
a[872]=8293;
a[873]=8297;
a[874]=8311;
a[875]=8317;
a[876]=8329;
a[877]=8353;
a[878]=8363;
a[879]=8369;
a[880]=8377;
a[881]=8387;
a[882]=8389;
a[883]=8419;
a[884]=8423;
a[885]=8429;
a[886]=8431;
a[887]=8443;
a[888]=8447;
a[889]=8461;
a[890]=8467;
a[891]=8501;
a[892]=8513;
a[893]=8521;
a[894]=8527;
a[895]=8537;
a[896]=8539;
a[897]=8543;
a[898]=8563;
a[899]=8573;
a[900]=8581;
a[901]=8597;
a[902]=8599;
a[903]=8609;
a[904]=8623;
a[905]=8627;
a[906]=8629;
a[907]=8641;
a[908]=8647;
a[909]=8663;
a[910]=8669;
a[911]=8677;
a[912]=8681;
a[913]=8689;
a[914]=8693;
a[915]=8699;
a[916]=8707;
a[917]=8713;
a[918]=8719;
a[919]=8731;
a[920]=8737;
a[921]=8741;
a[922]=8747;
a[923]=8753;
a[924]=8761;
a[925]=8779;
a[926]=8783;
a[927]=8803;
a[928]=8807;
a[929]=8819;
a[930]=8821;
a[931]=8831;
a[932]=8837;
a[933]=8839;
a[934]=8849;
a[935]=8861;
a[936]=8863;
a[937]=8867;
a[938]=8887;
a[939]=8893;
a[940]=8923;
a[941]=8929;
a[942]=8933;
a[943]=8941;
a[944]=8951;
a[945]=8963;
a[946]=8969;
a[947]=8971;
a[948]=8999;
a[949]=9001;
a[950]=9007;
a[951]=9011;
a[952]=9013;
a[953]=9029;
a[954]=9041;
a[955]=9043;
a[956]=9049;
a[957]=9059;
a[958]=9067;
a[959]=9091;
a[960]=9103;
a[961]=9109;
a[962]=9127;
a[963]=9133;
a[964]=9137;
a[965]=9151;
a[966]=9157;
a[967]=9161;
a[968]=9173;
a[969]=9181;
a[970]=9187;
a[971]=9199;
a[972]=9203;
a[973]=9209;
a[974]=9221;
a[975]=9227;
a[976]=9239;
a[977]=9241;
a[978]=9257;
a[979]=9277;
a[980]=9281;
a[981]=9283;
a[982]=9293;
a[983]=9311;
a[984]=9319;
a[985]=9323;
a[986]=9337;
a[987]=9341;
a[988]=9343;
a[989]=9349;
a[990]=9371;
a[991]=9377;
a[992]=9391;
a[993]=9397;
a[994]=9403;
a[995]=9413;
a[996]=9419;
a[997]=9421;
a[998]=9431;
a[999]=9433;
a[1000]=9437;
a[1001]=9439;
a[1002]=9461;
a[1003]=9463;
a[1004]=9467;
a[1005]=9473;
a[1006]=9479;
a[1007]=9491;
a[1008]=9497;
a[1009]=9511;
a[1010]=9521;
a[1011]=9533;
a[1012]=9539;
a[1013]=9547;
a[1014]=9551;
a[1015]=9587;
a[1016]=9601;
a[1017]=9613;
a[1018]=9619;
a[1019]=9623;
a[1020]=9629;
a[1021]=9631;
a[1022]=9643;
a[1023]=9649;
a[1024]=9661;
a[1025]=9677;
a[1026]=9679;
a[1027]=9689;
a[1028]=9697;
a[1029]=9719;
a[1030]=9721;
a[1031]=9733;
a[1032]=9739;
a[1033]=9743;
a[1034]=9749;
a[1035]=9767;
a[1036]=9769;
a[1037]=9781;
a[1038]=9787;
a[1039]=9791;
a[1040]=9803;
a[1041]=9811;
a[1042]=9817;
a[1043]=9829;
a[1044]=9833;
a[1045]=9839;
a[1046]=9851;
a[1047]=9857;
a[1048]=9859;
a[1049]=9871;
a[1050]=9883;
a[1051]=9887;
a[1052]=9901;
a[1053]=9907;
a[1054]=9923;
a[1055]=9929;
a[1056]=9931;
a[1057]=9941;
a[1058]=9949;
a[1059]=9967;
a[1060]=9973;
int Test,temp,dis,wei1,wei2,wei3,wei4,i,k;
cin>>Test; while(Test--)
{
while(q.size())q.pop(); cin>>temp>>dis; q.push(temp);
memset(ans,0,sizeof(ans)); while(1)
{
temp=q.front();
q.pop();
if(temp==dis)
{
cout<<ans[temp]<<endl;
break;
} wei1=temp%10;
wei2=(temp%100-wei1)/10;
wei4=temp/1000;
wei3=temp/100-wei4*10; for(i=1;i<=9;i=i+2)
{
k=wei4*1000+wei3*100+wei2*10+i;
if(wei1!=i &&!ans[k]&& pend(k))
{
ans[k]=ans[temp]+1;
q.push(k);
}
}
for(i=0;i<=9;i++)
{
k=wei4*1000+wei3*100+i*10+wei1;
if(wei2!=i &&!ans[k]&& pend(k))
{
ans[k]=ans[temp]+1;
q.push(k);
}
}
for(i=0;i<=9;i++)
{
k=wei4*1000+i*100+wei2*10+wei1;
if(wei3!=i &&!ans[k]&& pend(k))
{
ans[k]=ans[temp]+1;
q.push(k);
}
}
for(i=1;i<=9;i++)
{
k=i*1000+wei3*100+wei2*10+wei1;
if(wei4!=i &&!ans[k]&& pend(k))
{
ans[k]=ans[temp]+1;
q.push(k);
}
}
}
} return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

POJ 3126:Prime Path的更多相关文章

  1. POJ 3126:Prime Path(素数+BFS)

    The ministers of the cabinet were quite upset by the message from the Chief of Security stating that ...

  2. 【POJ - 3126】Prime Path(bfs)

    Prime Path 原文是English 这里直接上中文了 Descriptions: 给你两个四位的素数a,b.a可以改变某一位上的数字变成c,但只有当c也是四位的素数时才能进行这种改变.请你计算 ...

  3. UVA P12101 【Prime Path】

    题库 :UVA 题号 :12101 题目 :Prime Path link :https://www.luogu.org/problemnew/show/UVA12101

  4. 素数路径Prime Path POJ-3126 素数,BFS

    题目链接:Prime Path 题目大意 从一个四位素数m开始,每次只允许变动一位数字使其变成另一个四位素数.求最终把m变成n所需的最少次数. 思路 BFS.搜索的时候,最低位为0,2,4,6,8可以 ...

  5. 双向广搜 POJ 3126 Prime Path

      POJ 3126  Prime Path Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 16204   Accepted ...

  6. poj 3126 Prime Path bfs

    题目链接:http://poj.org/problem?id=3126 Prime Path Time Limit: 1000MS   Memory Limit: 65536K Total Submi ...

  7. POJ 3126 Prime Path(素数路径)

    POJ 3126 Prime Path(素数路径) Time Limit: 1000MS    Memory Limit: 65536K Description - 题目描述 The minister ...

  8. POJ - 3126 - Prime Path(BFS)

    Prime Path POJ - 3126 题意: 给出两个四位素数 a , b.然后从a开始,每次可以改变四位中的一位数字,变成 c,c 可以接着变,直到变成b为止.要求 c 必须是素数.求变换次数 ...

  9. BFS POJ 3126 Prime Path

    题目传送门 /* 题意:从一个数到另外一个数,每次改变一个数字,且每次是素数 BFS:先预处理1000到9999的素数,简单BFS一下.我没输出Impossible都AC,数据有点弱 */ /**** ...

随机推荐

  1. 2-10 就业课(2.0)-oozie:6、通过oozie执行mr任务,以及执行sqoop任务的解决思路

    执行sqoop任务的解决思路(目前的问题是sqoop只安装在node03上,而oozie会随机分配一个节点来执行任务): ======================================= ...

  2. 01 vue入门

    vue简介 官网上有介绍,这里粘出来 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心 ...

  3. RDD 可视化 —— RDDOperationScope.withScope

    最近在看各种博客,学习 spark 源代码. 网上对源代码的分析基本都是基于 0.7, 0.8, 1.0 的代码,而现在的发行版已经是 1.5 了.所以有些代码不大对的上.比如函数 RDD.map() ...

  4. Nifi简介及核心概念整理

    简介 Apache NiFi 是一个易于使用.功能强大而且可靠的数据拉取.数据处理和分发系统,用于自动化管理系统间的数据流. 它支持高度可配置的指示图的数据路由.转换和系统中介逻辑,支持从多种数据源动 ...

  5. Centos7安装Redis-单节点

    1.安装 gcc 编译环境 由于 Redis 使用 C 语言开发,所以官网下载的源码需要进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装. ​[root@CentOS ~]# yu ...

  6. GNS3 模拟Arp命令2

    R1 : conf t int f0/0 no shutdown ip add 192.168.1.1 255.255.255.0 no ip routing end R2 f0/0: conf t ...

  7. vSphere vSwitch网络属性配置详解

    1.安全 混杂模式:把vSwitch当成是一个hub,同一台交换机上面所有的虚拟机都能接受到二层数据包. MAC地址更改:当vSwitch上面连接的某一个虚拟机MAC地址发生更改时,vSwitch是否 ...

  8. C++面试常见问题——09static关键字

    static关键字 局部变量 局部变量 局部变量是最常见的量,编译器不会对其进行初始化,除非对其显式赋值,不然初始值是随机的. 普通局部变量存储在栈空间,使用完毕后会立即被释放. 静态局部变量 静态局 ...

  9. Python 中 configparser 配置文件的读写及封装,配置文件存放数据,方便修改

    1. 将程序中不常变化的数据放在配置文件中,有什么好处? 将配置统一放在一起,进行统一管理,方便维护,方便修改 配置文件将存放测试数据比如: Excel文件名. 日志名. 用例执行的结果. 实际结果和 ...

  10. Oracle SQL语句记录

    1.oracel 查看表空间使用情况. ) AS free_space, tablespace_name FROM dba_free_space GROUP BY tablespace_name; ) ...