读书人

hdu4350 Card-多校联结六

发布时间: 2012-08-31 12:55:03 作者: rapoo

hdu4350 Card-----多校联合六

水题。

#include<iostream>#include<cstdlib>#include<stdio.h>using namespace std;int num[53];int n,l,r;int mm;int ff[53];int tt[53];void count(){   while(1)   {    int cc=1;    for(int i=l;i<=r;i++)    tt[cc++]=ff[i];    for(int i=1;i<l;i++)    tt[cc++]=ff[i];    for(int i=r+1;i<=52;i++)    tt[cc++]=ff[i];    //cout<<"&"<<endl;    /*for(int i=1;i<=52;i++)    cout<<tt[i]<<" ";    cout<<endl;*/    mm++;    int j;    for(j=1;j<=52;j++)    if(tt[j]!=num[j])    break;    //cout<<j<<"*"<<endl;    if(j>=52) return ;    else    {    for(int i=1;i<=52;i++)    ff[i]=tt[i];    }    }    return ;}void change(){    int uu=1;    while(uu<=n)    {    int cc=1;    for(int i=l;i<=r;i++)    ff[cc++]=num[i];    for(int i=1;i<l;i++)    ff[cc++]=num[i];    for(int i=r+1;i<=52;i++)    ff[cc++]=num[i];    for(int i=1;i<=52;i++)    num[i]=ff[i];    uu++;    }    return ;}int main(){    int ccount=1;    int t;    scanf("%d",&t);    while(t--)    {        for(int i=1;i<=52;i++)        {            scanf("%d",&num[i]);            ff[i]=num[i];        }        scanf("%d%d%d",&n,&l,&r);        mm=0;        count();       // cout<<mm<<"*"<<endl;        n=n%mm;        change();        printf("Case #%d:",ccount++);        for(int i=1;i<=52;i++)        printf(" %d",num[i]);        printf("\n");    }}


读书人网 >编程

热点推荐