zoukankan      html  css  js  c++  java
  • POJ 3126:Prime Path

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

     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;
    }
    



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

  • 相关阅读:
    Django之学员管理二
    Django之学员管理一
    Django自定义分页
    算法
    Python运维工程师
    uboot分析:SD卡镜像制作脚本分析
    嵌入式开发环境搭建:NFS客户端与服务器搭建
    嵌入式开发环境搭建:开发板tftp下载环境搭建
    uboot分析:uboot启动内核
    uboot分析:uboot的启动过程分析
  • 原文地址:https://www.cnblogs.com/lightspeedsmallson/p/4785825.html
Copyright © 2011-2022 走看看