#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<fstream>
#include<algorithm>
#define MAXN 105
using namespace std;
typedef struct{
int num[], a, b;
char str[];
void Switch(){
for(int i = ; i < ; i ++)
num[i] = str[i]-'';
}
}Gusse;
Gusse gg[MAXN];
int ans[], target[], flag, N;
bool Is_In_num(int i){
int num1[], num2[], cnt = ;
memset(num1, , sizeof(num1));
memset(num2, , sizeof(num2));
for(int j = ; j < ; j ++) num1[ans[j]]++;
for(int j = ; j < ; j ++) num2[gg[i].num[j]]++;
for(int j = ; j < ;j ++) if(num1[j] && num2[j]) cnt += min(num1[j], num2[j]);
return cnt == gg[i].a;
}
bool Is_Ok_num(int i){
int cnt = ;
for(int j = ; j < ; j ++)
if(ans[j] == gg[i].num[j]) cnt++;
return cnt == gg[i].b;
}
bool OK(){
for(int i = ; i < N; i ++)
if(!Is_In_num(i) || !Is_Ok_num(i)) return false;
return true;
}
void dfs(int cnt){
if(cnt == ){
if(OK()){
flag++;
for(int i = ; i < ; i ++) target[i] = ans[i];
}
return ;
}
for(int i = ; i < ; i ++){
if((cnt + i)){
ans[cnt] = i;
dfs(cnt+);
}
}
}
int main(){
freopen("in.c", "r", stdin);
while(~scanf("%d", &N) && N){
for(int i = ; i < N; i ++){
scanf("%s%d%d", gg[i].str, &gg[i].a, &gg[i].b);
gg[i].Switch();
}
flag = ;
dfs();
if(flag != ) printf("Not sure\n");
else{
for(int i = ; i < ; i ++) printf("%d", target[i]);
printf("%d\n", target[]);
}
}
return ;
}

HDOJ --1172的更多相关文章

  1. [HDOJ] 1172.猜数字

    Problem Description 猜数字游戏是gameboy最喜欢的游戏之一.游戏的规则是这样的:计算机随机产生一个四位数,然后玩家猜这个四位数是什么.每 猜一个数,计算机都会告诉玩家猜对几个数 ...

  2. HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序

    FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  3. HDOJ 2317. Nasty Hacks 模拟水题

    Nasty Hacks Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tota ...

  4. HDOJ 1326. Box of Bricks 纯水题

    Box of Bricks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  5. HDOJ 1004 Let the Balloon Rise

    Problem Description Contest time again! How excited it is to see balloons floating around. But to te ...

  6. hdoj 1385Minimum Transport Cost

    卧槽....最近刷的cf上有最短路,本来想拿这题复习一下.... 题意就是在输出最短路的情况下,经过每个节点会增加税收,另外要字典序输出,注意a到b和b到a的权值不同 然后就是处理字典序的问题,当松弛 ...

  7. HDOJ(2056)&HDOJ(1086)

    Rectangles    HDOJ(2056) http://acm.hdu.edu.cn/showproblem.php?pid=2056 题目描述:给2条线段,分别构成2个矩形,求2个矩形相交面 ...

  8. 继续node爬虫 — 百行代码自制自动AC机器人日解千题攻占HDOJ

    前言 不说话,先猛戳 Ranklist 看我排名. 这是用 node 自动刷题大概半天的 "战绩",本文就来为大家简单讲解下如何用 node 做一个 "自动AC机&quo ...

  9. 最近点对问题 POJ 3714 Raid && HDOJ 1007 Quoit Design

    题意:有n个点,问其中某一对点的距离最小是多少 分析:分治法解决问题:先按照x坐标排序,求解(left, mid)和(mid+1, right)范围的最小值,然后类似区间合并,分离mid左右的点也求最 ...

随机推荐

  1. objective-c中的category

    如果有如下一个类 #import <Foundation/Foundation.h> @interface Person : NSObject @property int age; @en ...

  2. html-----010

    22 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o ...

  3. 关于SringMvc的参数的传递

    * @RequestMapping这个注解代表要请求的方法 * value值表示请求的 方法名*********@RequestParam(value="username")代表请 ...

  4. switch case实现两个数的算术运算

    方法一: package com.liaojianya.chapter1; import java.util.Scanner; public class SwitchDemo1 { public st ...

  5. LevelDB windows vs2013 c++编译和测试

    引用: (src1) :http://download.csdn.net/detail/flyfish1986/8881263(这里有下载地址) (src2) :http://blog.csdn.ne ...

  6. POJ 3311 Hie with the Pie(DP状态压缩+最短路径)

    题目链接:http://poj.org/problem?id=3311 题目大意:一个送披萨的,每次送外卖不超过10个地方,给你这些地方之间的时间,求送完外卖回到店里的总时间最小. Sample In ...

  7. centOS 6.4 mysql安装

    1 直接安装 yum install mysql mysql-server 2 启动mysql /usr/bin/mysqld_safe --user=mysql & 启动时,如果出现Can' ...

  8. .NET MVC 依赖注入 来龙去脉

    找了很久,找到一篇好文章,细读很有收获: 点击打开链接http://www.codeproject.com/Articles/560798/ASP-NET-MVC-Controller-Depende ...

  9. 【转】JavaScript闭包

      摘自:JavaScript作用域闭包简述 使用外部变量的函数就是闭包,闭包可以给我们带来一些便利,就是可以在高等级的作用域使用低等级作用域中的变量:   例: var data = []; fun ...

  10. RESTheart安装与设置

    作者:Maurizio Turatti, 最后在Feb 25, 2016时被 Andrea Di Cesare更新 安装与设置 1. 快速开始 Docker Vagrant Bare metal 2. ...