Posted on 2010-02-06 03:52
Uriel 閱讀(481)
評論(0) 編輯 收藏 引用 所屬分類:
POJ 、
模擬
看了題只想到模擬。。于是模擬之。。在模擬題中也算是水題了,不過不知何故做這類的模擬(模擬游戲過程,模擬約瑟夫之類的)有若干循環(huán)的題基本上不調(diào)試肯定是要死循環(huán)。。做的時候想的清清楚楚的代碼寫出來就掛了。。
雖說是水題。。貼個代碼紀念紀念~~

/**//*Problem: 3125 User: Uriel
Memory: 164K Time: 16MS
Language: C++ Result: Accepted*/

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

struct work


{
int p,g;
};

work P[110];
int cse,n,m,tmp,tmg,res;
bool flag;

int main()


{
int i,j,k;
scanf("%d",&cse);
while(cse--)

{
scanf("%d %d",&n,&m);
memset(P,0,sizeof(P));
for(i=0;i<n;i++)

{
scanf("%d",&P[i].p);
if(i==m)P[i].g=1;
else
P[i].g=0;
}
res=0;
i=0;
while(1)

{
flag=false;
for(i=1;i<n;i++)

{
if(P[i].p>P[0].p)

{
tmp=P[0].p;
tmg=P[0].g;
for(j=1;j<n;j++)

{
P[j-1].p=P[j].p;
P[j-1].g=P[j].g;
}
P[n-1].p=tmp;
P[n-1].g=tmg;
flag=true;
break;
}
}
if(!flag)

{
res++;
if(P[0].g)break;
else

{
for(i=1;i<n;i++)

{
P[i-1].p=P[i].p;
P[i-1].g=P[i].g;
}
n--;
}
}
}
printf("%d\n",res);
}
// system("PAUSE");
return 0;
}
