TC-572-D1L2 未完!待续!
题目描述
• 有一个神秘的常数 K ,s 位
• 现在有 n 个 s 位数,告诉你每个数与 K 有多少位是相同的
• 判断 K 的无解、多解、唯一解,并求出唯一解(如果存在的话)
• 所有出现的数都允许前导零
• s ≤ 9, n ≤ 50输入格式
第一行两个数 n, s 。
接下来 n 行,每行两个数 a, b 表示 s 位数 a 与 K 有 b 位是相同的。输出格式
无解输出 Liar , 多解输出 Ambiguity ,唯一解则输出唯一解。
cute gql教我的70分做法:
从低位搜到高位(倒过来也可以啊) 边搜边判断 然后 没了
这样子做的代码也敲一下了啦 (其实应该比70还多)
#include<iostream>
#include<cstdio>
#define go(i,u,v) for(register int i=u;i<=v;i++)
#define goo(i,u,v) for(register int i=u;i>=v;i--)
using namespace std;
int read()
{
int x=,y=;char c=getchar();
while(c<''||c>'') {if(c=='-') y=-;c=getchar();}
while(c>=''&&c<='') {x=(x<<)+(x<<)+c-'';c=getchar();}
return x*y;
}
int n,m,a[],b[],c[][],ans,d[],now[],as[];
bool ck() {go(i,,n) if(d[i]!=b[i]) return ; return ;}
void dfs(int nw)
{
if(nw>m) {if(ck()) {ans++;go(i,,m) as[i]=now[i];}return ;}
go(i,,) {
bool fg=;
go(j,,n) { if(c[j][nw]==i&&d[j]+>b[j]) {fg=;break ;} }
if(!fg) continue ;
go(j,,n) { if(c[j][nw]==i) d[j]++; }
now[nw]=i;dfs(nw+);
go(j,,n) { if(c[j][nw]==i) d[j]--; }
}
}
int main()
{
n=read();m=read();
go(i,,n) a[i]=read(),b[i]=read();
go(i,,n) go(j,,m) {c[i][j]=a[i]%;a[i]/=;}
dfs();
if(!ans) puts("Liar");
else if(ans>) puts("Ambiguity");
else { goo(i,m,) printf("%d",as[i]);}
return ;
}
正解:
很像 方程的解数
都是直接搜索会TLE 于是就对半 分开搜索 然后来匹配
代码 ……还没有写出来qwq
TC-572-D1L2 未完!待续!的更多相关文章
- javascript有用小功能总结(未完待续)
1)javascript让页面标题滚动效果 代码如下: <title>您好,欢迎访问我的博客</title> <script type="text/javasc ...
- ASP.NET MVC 系列随笔汇总[未完待续……]
ASP.NET MVC 系列随笔汇总[未完待续……] 为了方便大家浏览所以整理一下,有的系列篇幅中不是很全面以后会慢慢的补全的. 学前篇之: ASP.NET MVC学前篇之扩展方法.链式编程 ASP. ...
- 关于DOM的一些总结(未完待续......)
DOM 实例1:购物车实例(数量,小计和总计的变化) 这里主要是如何获取页面元素的节点: document.getElementById("...") cocument.query ...
- 我的SQL总结---未完待续
我的SQL总结---未完待续 版权声明:本文为博主原创文章,未经博主允许不得转载. 总结: 主要的SQL 语句: 数据操作(select, insert, delete, update) 访问控制(g ...
- virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续)
virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续) 第一次接触到 linux,不知道linux的确很强大,然后用virtualbox ...
- MVC丶 (未完待续······)
希望你看了此小随 可以实现自己的MVC框架 也祝所有的程序员身体健康一切安好 ...
- 一篇文章让Oracle程序猿学会MySql【未完待续】
一篇文章让Oracle DB学会MySql[未完待续] 随笔前言: 本篇文章是针对已经能够熟练使用Oracle数据库的DB所写的快速学会MySql,为什么敢这么说,是因为本人认为Oracle在功能性方 ...
- [python]爬代理ip v2.0(未完待续)
爬代理ip 所有的代码都放到了我的github上面, HTTP代理常识 HTTP代理按匿名度可分为透明代理.匿名代理和高度匿名代理. 特别感谢:勤奋的小孩 在评论中指出我文章中的错误. REMOTE_ ...
- IOS之KVC和KVO(未完待续)
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- C++语言体系设计哲学的一些随想(未完待续)
对于静态类型语言,其本质目标在于恰当地操作数据,得到期望的值.具体而言,需要: (1)定义数据类型 你定义的数据是什么,是整形还是浮点还是字符.该类型的数据可以包含的值的范围是什么. (2)定义操作的 ...
随机推荐
- node 加密音频文件 和 解密音频文件
fs.readFile('./downsuccess/'+name+'', {flag: 'r+', encoding: ''}, function (err, data) { c ...
- nodejs 新特性
一般时间没看nodejs了,又出了一些新特性了. 异步钩子 async_hooks 先看相关的文章吧 https://zhuanlan.zhihu.com/p/27394440 性能 ...
- JavaScript的setTimeout()和setInterval()
1. setTimeout()方法 作用:在制定的毫秒数后调用函数或计算表达式 语法: setTimeout(code,millisec) 实例: function timedMsg() { var ...
- Codeforces 1060 F. Shrinking Tree
题目链接 一道思维好题啊...感觉这种类型的题很检验基本功是否扎实(像我这样的就挂了). 题意:你有一棵\(n\)个点的树,每次随机选择一条边,将这条边的两个端点合并,并随机继承两个点标号中的一个,问 ...
- python selenium2 有关cookie操作实例及如何绕开验证码
1.先看一下cookie是啥 cookie是访问web时服务器记录在用户本地的一系列用户信息(比如用户登录信息),以便对用户进行识别 from selenium import webdriver im ...
- 解决 'findstr' 不是内部或外部命令,也不是可运行的程序或批处理文件 提示问题
如果出现提示“出现'findstr' 不是内部或外部命令,也不是可运行的程序或批处理文件” 这是PATH环境变量的问题,将windows命令的目录添加到PATH中就over了.即:在path中追加:% ...
- 【刷题】BZOJ 2049 [Sdoi2008]Cave 洞穴勘测
Description 辉辉热衷于洞穴勘测.某天,他按照地图来到了一片被标记为JSZX的洞穴群地区.经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰好 ...
- BZOJ2159 Crash 的文明世界 【第二类斯特林数 + 树形dp】
题目链接 BZOJ2159 题解 显然不能直接做点分之类的,观察式子中存在式子\(n^k\) 可以考虑到 \[n^k = \sum\limits_{i = 0} \begin{Bmatrix} k \ ...
- zookeeper和PHP zookeeper和kafka 扩展安装
http://blog.csdn.net/fenglailea/article/details/52458737#t3 目录(?)[-] 安装zookeeper 1直接安装zookeeper无须编 ...
- Linux使用vim进行多文件查找和替换的方法
vim是Linux系统下常用的文本编辑,通过使用多种shell命令能够实现多文件的查找和替换,那么具体会使用到那些命令呢?下面小编就给大家介绍下Linux系统vim多文件查找和替换的方法. 在linu ...