POJ 3126:Prime Path
Time Limit: 1000MS | Memory Limit: 65536KB | 64bit IO Format: %I64d & %I64u |
Description
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
Output
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的更多相关文章
- POJ 3126:Prime Path(素数+BFS)
The ministers of the cabinet were quite upset by the message from the Chief of Security stating that ...
- 【POJ - 3126】Prime Path(bfs)
Prime Path 原文是English 这里直接上中文了 Descriptions: 给你两个四位的素数a,b.a可以改变某一位上的数字变成c,但只有当c也是四位的素数时才能进行这种改变.请你计算 ...
- UVA P12101 【Prime Path】
题库 :UVA 题号 :12101 题目 :Prime Path link :https://www.luogu.org/problemnew/show/UVA12101
- 素数路径Prime Path POJ-3126 素数,BFS
题目链接:Prime Path 题目大意 从一个四位素数m开始,每次只允许变动一位数字使其变成另一个四位素数.求最终把m变成n所需的最少次数. 思路 BFS.搜索的时候,最低位为0,2,4,6,8可以 ...
- 双向广搜 POJ 3126 Prime Path
POJ 3126 Prime Path Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 16204 Accepted ...
- poj 3126 Prime Path bfs
题目链接:http://poj.org/problem?id=3126 Prime Path Time Limit: 1000MS Memory Limit: 65536K Total Submi ...
- POJ 3126 Prime Path(素数路径)
POJ 3126 Prime Path(素数路径) Time Limit: 1000MS Memory Limit: 65536K Description - 题目描述 The minister ...
- POJ - 3126 - Prime Path(BFS)
Prime Path POJ - 3126 题意: 给出两个四位素数 a , b.然后从a开始,每次可以改变四位中的一位数字,变成 c,c 可以接着变,直到变成b为止.要求 c 必须是素数.求变换次数 ...
- BFS POJ 3126 Prime Path
题目传送门 /* 题意:从一个数到另外一个数,每次改变一个数字,且每次是素数 BFS:先预处理1000到9999的素数,简单BFS一下.我没输出Impossible都AC,数据有点弱 */ /**** ...
随机推荐
- Express 应用程序生成器
通过应用生成器工具 express-generator 可以快速创建一个应用的骨架. express-generator 包含了 express 命令行工具.通过如下命令即可安装: $ npm ins ...
- H5易企秀
周末被领导叫回来加班,说要做一个易企秀一样的页面,然后就有这篇笔记 原计划用几百个计时器去执行,后面放弃了,太难改了,还是选择了animate.css插件,这是一个纯css的插件,只需要引入css就行 ...
- Java连载68-数组的拷贝、二维数组
一.数组的拷贝 函数arraycopy(),参数为:源数组.源数组的开始下标.目标数组.目标数组的开始下标.拷贝长度 package com.bjpowernode.java_learning; ...
- cmf公共函数解析
cmf公共函数解析-common.php 路径:thinkcmf\simplewind\cmf\common.php方法: 方法 作用 返回值 cmf_get_current_admin_id ...
- Kubernetes v1.17.3 CentOS8 基于kuberadm安装
1.机器配置: IP 主机名 节点类型 配置 192.168.31.32 node32 master 4核16G 192.168.31.33 node33 worker 4核16G 192.168.3 ...
- 解决datagridview 横向的scrollbar不显示
下午遇到这个问题.看到了网上各种解决办法.都没搞定. 新建了一个datagridview.发现是没问题了.仔细对比了一下它们的属性. 在Columns的属性中,有一项:Frozen, 把这个值改顺默认 ...
- oracle通用帮助类
需要的dll( EntityFramework.6.0.0Oracle.ManagedDataAccess.12.1.2400System.Configuration.dllEmitMapper.1. ...
- delphi的dbgrid控件点击title排序
procedure TfrmMain.DBGridEhTitleClick(Column: TColumnEh);var i : integer;begin for i:= 1 to DBGridEh ...
- DevOps - 不适用
章节 DevOps – 为什么 DevOps – 与传统方式区别 DevOps – 优势 DevOps – 不适用 DevOps – 生命周期 DevOps – 与敏捷方法区别 DevOps – 实施 ...
- Docker自建本地仓库
1.安装docker yum install docker -y 之后根据需求把指定docker安装目录,或者新建一个磁盘使用docker-storage-setup来使用 2.设置第三方docker ...