zoukankan      html  css  js  c++  java
  • PAT A1042 Shuffling Machine

    自己思路,没通过

    #include <cstdio>
    #define N  54
    int main() {
    	#ifdef ONLINE_JUDGE
    	#else
    		freopen("1.txt", "r", stdin);
    	#endif
    	int start[N + 1] = {0}, end[N + 1] = {0}, sequence[N + 1] = {0};
    	for(int i = 1; i < N + 1; i++) {//初始化牌的编号
    		start[i] = i+1;
    	}
        int n;
        scanf("%d", &n);//输入操作的次数
        for(int i = 1; i < N + 1; i++) {//输入每个位置上的牌在操作后的位置
    		int n;
    		scanf("%d", &sequence[i]);
    	}
    	/*for(int i = 1; i < N; i++) {
    		printf("%d
    ", sequence[i]);
    	}*/
        for(int i = 0; i < n; i++) {//执行n次操作
    		for(int i = 1; i < N + 1; i++) {
    			end[sequence[i]] = start[i];
    		}
    		for(int i = 1; i < N + 1; i++) {
    			start[i] = end[i];
    		}
    	}
    	/*for(int i = 1; i < N + 1; i++) {
    		printf("%d
    ", end[i]);
    	}
    	*/
    	for(int i = 1; i < N; i++) {
    		//printf("%d---", end[i]);
    		if(i != N) {
    			if(end[i] / 13 == 0) {
    				if(end[i] % 13 == 0) {
    					printf("S13 ");
    				} else {
    					printf("S%d ", end[i] % 13);
    				}
    			} else if(end[i] / 13 == 1) {
    				if(end[i] % 13 == 0) {
    					printf("H13 ");
    				} else {
    				printf("H%d ", end[i] % 13);
    				}
    			} else if(end[i] / 13 == 2) {
    				if(end[i] % 13 == 0) {
    					printf("C13 ");
    				} else {
    					printf("C%d ", end[i] % 13);
    				}
    			} else if(end[i] / 13 == 3) {
    				if(end[i] % 13 == 0) {
    					printf("D13 ");
    				} else {
    					printf("D%d ", end[i] % 13);
    				}
    			} else if(end[i] / 13 == 4) {
    				printf("J%d ", end[i] % 13);
    			}
    		} else {
    			if(end[i] / 13 == 0) {
    				if(end[i] % 13 == 0) {
    					printf("S13");
    				} else {
    					printf("S%d", end[i] % 13);
    				}
    			} else if(end[i] / 13 == 1) {
    				if(end[i] % 13 == 0) {
    					printf("H13");
    				} else {
    				printf("H%d", end[i] % 13);
    				}
    			} else if(end[i] / 13 == 2) {
    				if(end[i] % 13 == 0) {
    					printf("C13");
    				} else {
    					printf("C%d", end[i] % 13);
    				}
    			} else if(end[i] / 13 == 3) {
    				if(end[i] % 13 == 0) {
    					printf("D13");
    				} else {
    					printf("D%d", end[i] % 13);
    				}
    			} else if(end[i] / 13 == 4) {
    				printf("J%d", end[i] % 13);
    			}
    		}
    	}
    	return 0;
    }
    

    AC

    #include <cstdio>
    const int N = 54;
    char mp[5] = {'S', 'H', 'C', 'D', 'J'};
    int start[N+1], end[N+1], next[N+1];
    
    int main() {
    	#ifdef ONLINE_JUDGE
    	#else
    		freopen("1.txt", "r", stdin);
    	#endif
    	int K;
    	scanf("%d", &K);
    	for(int i = 1; i <= N; i++) {
    		start[i] = i;
    	}
    	for(int i = 1; i <= N; i++) {
    		scanf("%d", &next[i]);
    	}
    	for(int step = 0; step < K; step++) {
    		for(int i = 1; i <= N; i++) {
    			end[next[i]] = start[i];
    		}
    		for(int i = 1; i <= N; i++) {
    			start[i] = end[i];
    		}
    	}
    	for(int i = 1; i <= N; i++) {
    		if(i != 1) printf(" ");
    		start[i]--;
    		printf("%c%d", mp[start[i] / 13], start[i] % 13 + 2);
    	}
    	return 0;
    }
    
  • 相关阅读:
    java 浅显的会议预约-没有测试过
    Postgresql 与 Spring的集成
    对象转JSON正则查找替换
    Java 对象与JSONString的互相转换
    excel 中涉及到金额显示0E-8的 可以使用以下语句来把excel导出修改为0
    Java 非正则方式校验数据
    泛型与反射的使用
    正则表达式,匹配 URL 是IP还是域名
    对外接口加密
    自定义SQL查询的使用
  • 原文地址:https://www.cnblogs.com/isChenJY/p/11203986.html
Copyright © 2011-2022 走看看