zoukankan      html  css  js  c++  java
  • Codeforces Round #444 (Div. 2) B. Cubes for Masha

     最多是3个魔方,也就是最多有18个面,可以知道可以得到的最大的x是98,假如是99的话,那么有9个面要是1到9,剩下的9个面要是0到9,但是超过了剩余的面数,然后要是x最大为98的话,前9个面可以安排为1到9,后9个面安排为0到8,刚好9个面,所以可以知道x最大也就是98.

    #include<bits/stdc++.h>
    using namespace std;
    int vis[100];
    int cu[4][7];
    
    int main()
    {
        int n;
        cin>>n;
        memset(vis,0,sizeof(vis));
        for(int i=1;i<=n;i++)
            for(int j=1;j<=6;j++)
                cin>>cu[i][j];
        if(n==1)//枚举出1个魔方可以得到的所有个位数
        {
            for(int i=1;i<=6;i++)
                vis[cu[1][i]]=1;
        }
        else
            if(n==2)//枚举出2个魔方可以得到的所有十位数
            {
                for(int i=1;i<=2;i++)
                    for(int j=1;j<=6;j++)
                        vis[cu[i][j]]=1;
                for(int i=1;i<=6;i++)
                    for(int j=1;j<=6;j++)
                    {
                        int tmp1=cu[1][i],tmp2=cu[2][j],tmp3,tmp4;
                        tmp3=tmp1*10+tmp2;
                        tmp4=tmp2*10+tmp1;
                        vis[tmp3]=1;
                        vis[tmp4]=1;
                    }
    
            }
            else//枚举出3个魔方可以得到的所有十位数
            {
                for(int i=1;i<=3;i++)
                    for(int j=1;j<=6;j++)
                        vis[cu[i][j]]=1;
                for(int i=1;i<=6;i++)
                    for(int j=1;j<=6;j++)
                    {
                        int tmp1=cu[1][i],tmp2=cu[2][j],tmp3,tmp4;
                        tmp3=tmp1*10+tmp2;
                        tmp4=tmp2*10+tmp1;
                        vis[tmp3]=1;
                        vis[tmp4]=1;
                    }
                for(int i=1;i<=6;i++)
                    for(int j=1;j<=6;j++)
                    {
                        int tmp1=cu[1][i],tmp2=cu[3][j],tmp3,tmp4;
                        tmp3=tmp1*10+tmp2;
                        tmp4=tmp2*10+tmp1;
                        vis[tmp3]=1;
                        vis[tmp4]=1;
                    }
                for(int i=1;i<=6;i++)
                    for(int j=1;j<=6;j++)
                    {
                        int tmp1=cu[2][i],tmp2=cu[3][j],tmp3,tmp4;
                        tmp3=tmp1*10+tmp2;
                        tmp4=tmp2*10+tmp1;
                        vis[tmp3]=1;
                        vis[tmp4]=1;
                    }
    
            }
            for(int i=1;i<=99;i++)//从最小的1往后找,第一个没被标记的就是能表示的数的最大值了
                if(!vis[i])
                {
                    
                    cout<<i-1<<endl;
                    return 0;
    
                }
            
    
    }
    
  • 相关阅读:
    How to publish ASP.NET application
    Enable(Disable) JavaScript on Browsers(Opera,IE,Firefox,Googlechrome,Safari)
    批处理学习笔记
    [转] Springboot 解决跨域的四种姿势
    HTML+CSS编写规范
    利用CSS3的transform做的动态时钟
    JS特效文字逐个显示
    Asp.Net平台下的图片在线裁剪功能的实现
    CSS3实践之路(一):CSS3之我观
    推荐个通用的多图片上传插件 multiimage。
  • 原文地址:https://www.cnblogs.com/eason9906/p/11754968.html
Copyright © 2011-2022 走看看