pat 1042 Shuffling Machine

30 篇文章 0 订阅

洗牌机,每次将牌洗到新的位置,输出洗K次后牌的顺序。简单,水题。在纸上写一下就清楚了,只是输出时要注意,S13,J1等。

AC代码:

//1042 22:18
#include<stdio.h>
int a[60];
int b[60];
char c[5]="SHCD";
int trans[60];

int main()
{
	int k,i,j,num;
	//freopen("C:\\Documents and Settings\\Administrator\\桌面\\input.txt","r",stdin);

	for(i=0;i<=54;i++){
		a[i]=i;

	}
	scanf("%d",&k);
	for(j=1;j<=54;j++){
		scanf("%d",&num);
		trans[j]=num;
	}

	for(i=0;i<k;i++){
		for(j=1;j<=54;j++){
			b[trans[j]]=a[j];
		}
		for(j=1;j<=54;j++)
			a[j]=b[j];
		
	}
	

	if(a[1]>=53&&a[1]<=54)
		printf("J%d",a[1]-52);
	if(a[1]>=1&&a[1]<=52){
		if(a[1]%13==0)
			printf("%c13",c[a[1]/13-1]);
		else 
			printf("%c%d",c[a[1]/13],a[1]%13);
		}
	for(i=2;i<=54;i++){
		if(a[i]>=53&&a[i]<=54)
			printf(" J%d",a[i]-52);
		if(a[i]>=1&&a[i]<=52){
			if(a[i]%13==0)
				printf(" %c13",c[a[i]/13-1]);
			else 
				printf(" %c%d",c[a[i]/13],a[i]%13);
		}
	}
	return 0;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值