codeforces 887B

来源:互联网 发布:耐驰热分析软件下载 编辑:程序博客网 时间:2024/05/17 22:07

题目链接:

http://codeforces.com/contest/887/problem/B

题解:

100%纯暴力

代码:

#include <map>#include <cmath>#include <cstdio>#include <vector>#include <cstring>#include <iostream>#include <algorithm>using namespace std;#define met(a,b) memset(a,b,sizeof(a))#define lchild root<<1,l,mid#define rchild root<<1|1,mid+1,r#define inf 0x7ffffffftypedef long long ll;vector<int> p[3],pp;int main(){    int n;    scanf("%d",&n);    for(int i=0;i<n;i++)    {        for(int j=0;j<6;j++)        {            int num;            scanf("%d",&num);            p[i].push_back(num);        }    }    if(n==1)    {        for(int i=0;i<6;i++)            pp.push_back(p[0][i]);    }    else if(n==2)    {        for(int i=0;i<6;i++)            pp.push_back(p[0][i]);        for(int i=0;i<6;i++)            pp.push_back(p[1][i]);        for(int i=0;i<6;i++)        {            for(int j=0;j<6;j++)            {                pp.push_back(p[0][i]*10+p[1][j]);                pp.push_back(p[1][i]*10+p[0][j]);            }        }    }    else    {        for(int i=0;i<6;i++)            pp.push_back(p[0][i]);        for(int i=0;i<6;i++)            pp.push_back(p[1][i]);        for(int i=0;i<6;i++)            pp.push_back(p[2][i]);        for(int i=0;i<6;i++)        {            for(int j=0;j<6;j++)            {                pp.push_back(p[0][i]*10+p[1][j]);                pp.push_back(p[1][i]*10+p[0][j]);                pp.push_back(p[1][i]*10+p[2][j]);                pp.push_back(p[2][i]*10+p[1][j]);                pp.push_back(p[0][i]*10+p[2][j]);                pp.push_back(p[2][i]*10+p[0][j]);            }        }    }    sort(pp.begin(),pp.end());    int len=unique(pp.begin(),pp.end())-pp.begin();    map<int,int>mp;    for(int i=0;i<len;i++)        mp[pp[i]]=1;    for(int i=1;i<=99;i++)    {        if(!mp[i])        {            printf("%d\n",i-1);            return 0;        }    }}