| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
高手请指点一下#include<iostream>
using namespace std;
void search(int array[],int n)
{
int i,j;
int k,k1,k2;
int temp;
for(k=2;k<n;k++)
if(array[k-1]<array[k]&&k>1) //找到最后的循序数字
i=k;
if(i>1)
{
j=1;
for(k=i;k<=n;k++)
if(array[i-1]<array[k]&&k>1)
j=k;
temp=array[j];
array[j]=array[i-1];
array[i-1]=temp;
for(k1=i,k2=n-1;k1<k2;k1++,k2--)
{
temp=array[k1];
array[k1]=array[k2];
array[k2]=temp;
}
}
else
{
for(i=1;i<n;i++)
array[i]=i; //最后一组数组,回到起始位置
}
}
int main()
{
int n,k,i;
int count;
int *array;
cin>>count;
while(count--)
{
scanf("%d%d",&n,&k);
array=new int[n+1];
for(i=1;i<=n;i++)
scanf("%d",&array[i]);
while(k>0)
{
search(array,n+1);
k--;
}
for(i=1;i<=n;i++)
printf("%d ",array[i]);
printf("\n");
}
delete array;
return 0;
}我这个为什么过不了?(wrong answer)请帮帮看看
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator