Heim >Backend-Entwicklung >C#.Net-Tutorial >openjudge 2971: Catch the Cow Problemlösungsprozess (mit Code)
In diesem Artikel geht es hauptsächlich um den Problemlösungsprozess von openjudge 2971: Catch the Cow. Freunde in Not können davon erfahren.
Gesamtzeitlimit: 2000 ms
Speicherlimit: 65536kB
Beschreibung
Der Landwirt kennt den Standort einer Kuh und möchte sie fangen. Sowohl der Bauer als auch die Kuh befinden sich auf der Zahlengeraden. Der Bauer beginnt am Punkt N (0<=N<=100000) und die Kuh beginnt am Punkt K (0<=K<=100000). Der Bauer hat zwei Möglichkeiten, sich zu bewegen:
1. Bewegen Sie sich von X nach X-1 oder X+1.
2. Bewegen Sie sich von X zu 2*X.
Angenommen, die Kuh ist sich der Handlungen des Landwirts nicht bewusst und steht still. Wie viel Zeit benötigt der Landwirt mindestens, um die Kuh zu fangen?
Geben Sie
zwei Ganzzahlen ein, N und K.
Geben Sie
eine Ganzzahl aus, die Mindestanzahl an Minuten, die der Landwirt benötigt, um die Kuh zu fangen
Beispieleingabe
5 17
Beispielausgabe
4
Diese Frage ist eine Wasserfrage. Aber. Es ist sehr verwirrend. Zusammenfassend lässt sich sagen, dass BFS
1 ist, das Array ist offen genug.
2. Das Richtungsurteil der Kuh und des alten Mannes.
3. Wiederholen Sie das Urteil, dem Team beizutreten.
4, transzendentales Urteil.
5. Guter Charakter. Das ist der Schlüssel.
Der Code lautet wie folgt:
1 #include<cstdio> 2 #include<algorithm> 3 using namespace std; 4 int x,y; 5 struct node 6 { 7 int x,times; 8 }; 9 node q[3000010]; 10 int visit[1000010]; 11 int heads=1,last=1; 12 int main() 13 { 14 scanf("%d%d",&x,&y); 15 if(y<x) 16 { 17 printf("%d",x-y); 18 return 0; 19 } 20 node a; 21 a.x=x;a.times=0; 22 q[heads]=a; 23 while(heads<=last) 24 { 25 node n=q[heads]; 26 heads++; 27 if(n.x==y) 28 { 29 printf("%d",n.times); 30 break; 31 } 32 node n1=n; 33 n1.times++; 34 n1.x+=1; 35 if(!visit[n1.x])q[++last]=n1 , visit[n1.x]=1; 36 n1.x-=2; 37 if(!visit[n1.x])q[++last]=n1 , visit[n1.x]=1; 38 n1.x+=1; 39 n1.x*=2; 40 if(n1.x<=100000&&!visit[n1.x])q[++last]=n1 , visit[n1.x]=1; 41 } 42 return 0; 43 }
Es ist einfach peinlich.
Verwandte Tutorials: C++-Video-Tutorial
Das obige ist der detaillierte Inhalt vonopenjudge 2971: Catch the Cow Problemlösungsprozess (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!