• 旋转骰子


    玛莎有n个骰子,每个骰子的6个面上都恰好有一个0到9之间的数字。
    现在玛莎将利用这n个筛子来制作新数字。她把n个骰子摆成一排,然后从左到右查看骰子的上表面并读取,即可得到一个新数字。随后她不断的旋转每个骰子的面就可以得到不同的新数字。旋转骰子需要满足以下规则: 1、制作的数字不能包含前导零; 2、制作新数字时不需要使用所有的骰子; 3、使用骰子旋转,无法将数字9转换为数字6,反之亦然。
    给定n个骰子,玛莎可以用它们构成从1到x的所有整数。玛莎想知道,对于给定的n个骰子,这个x的最大取值是多少呢?
    输入格式:
    第一行仅一个整数n,表示骰子的数量(1≤n≤3)。
    接下来n行,每行包含6个整数a[i][j](0≤a[i][j]≤9),表示第i个骰子的第j个面上的数字。
    输出格式:
    输出一个整数,即最大数x,玛莎可以使用她的骰子构成数字从1到x。如果无法构成1,则输出0。

    #include <stdio.h>
    #include<stdlib.h>
    int cmp(const void *a,const void *b)
    {
        int* pa=(int*)a;
        int* pb=(int*)b;
        int num1=*pa;
        int num2=*pb;
        return num1-num2;
    }
    int main (){
    
    	int b[10]={0,1,2,3,4,5,6,7,8,9};
    	int cnt[10]={0,0,0,0,0,0,0,0,0,0,};
    	int n,i,j,k,h,m=0;
    	scanf("%d",&n);
    	int a[n][6];
    	int output=0;
    	int c[234];
    	for(i=0;i<234;i++){
    		c[i]=0;
    	}
    	for(i=0;i<n;i++){
    		for(j=0;j<6;j++){
    			scanf("%d",&a[i][j]);
    		}
    	}
       	for(i=0;i<n;i++){
       		for(j=0;j<6;j++){
       			if(a[i][j]==b[0]) cnt[0]++;
       			if(a[i][j]==b[1]) cnt[1]++;
       			if(a[i][j]==b[2]) cnt[2]++;
       			if(a[i][j]==b[3]) cnt[3]++;
       			if(a[i][j]==b[4]) cnt[4]++;
       			if(a[i][j]==b[5]) cnt[5]++;
       			if(a[i][j]==b[6]) cnt[6]++;
       			if(a[i][j]==b[7]) cnt[7]++;
       			if(a[i][j]==b[8]) cnt[8]++;
       			if(a[i][j]==b[9]) cnt[9]++;
    		   }
    	   }
    if(n>1){
    
    	for(i=0;i<n-1;i++){
    		for(j=i+1;j<n;j++){
    			for(k=0;k<6;k++){
    				for( m=0;m<6;m++){
    				c[h]=a[i][m]*10+a[j][k];
    				c[h+1]=a[j][k]*10+a[i][m];
    				h=h+2;
    				}
    			}
    		}
    	}
    }
    for(i=0;i<n;i++){
    	for(k=0;k<6;k++){
    		c[h]=a[i][k];
    		h++;
    	}
    }
     qsort(c,234,sizeof(int),cmp);
     for(i=0;i<234;i++){
     	if(c[i+1]-c[i]>1){
     		break;
    	 }
     }
    	printf("%d",c[i]);
    	return 0;
    } 
    
  • 相关阅读:
    解决问题,别扩展问题
    Hystrix 配置参数全解析
    请求合并哪家强
    在Spring-Boot中实现通用Auth认证的几种方式
    Java高级特性之泛型
    一键部署进化史
    JavaScript Alert 函数执行顺序问题
    新版的 Springsecurity request.getRequestDispatcher).forward(request, response); 404 问题,已解决
    maridb 10.3 主从复制,待机情况下从库 cpu 占用率高的处理方法
    springboot 2.0 mariadb hikari-cp连接池
  • 原文地址:https://www.cnblogs.com/wangmou-233-1024-com/p/12433123.html
Copyright © 2020-2023  润新知