Codevs 1229 数字游戏
1229 数字游戏
- 第一行包含两个整数 N和M(0<N<9,0<M<2000),分别代表纸片的数目和询问的数目。
- 第二行包含N个整数分别代表纸片上写的数字,每个数字可能取0~9。
- 接下来有M行询问,每个询问给出两个整数X和K(0<=x<10^9,0<K<100)。
- 对于每次询问,如果能够用这些纸片拼出符合答案的T,就输出结果T。如果有多个结果,就输出符合要求的最小的T。
- 如果不能拼出,就输出"None"。
4 3
1 2 3 4
5 7
33 6
12 8
1234
None
1324
传送门 点此展开
满分做法是全排列,也不知为啥这题数据能让9!*2000过,可能出题人比较良心吧。。
代码如下
#include <algorithm>
#include <iostream>
#include <cstring>
#include <string>
#include <cstdio>
#include <cmath>
#define INF 1111111111
using namespace std; bool f;
int minn=INF,ans,s[],z,q,maxn,cs[],cs1[],b,t,r,w,x,k,a,n,m,i,j;
int main()
{
ios::sync_with_stdio(false);
int c;
cin >> n >> m;
int p;
for(i=;i<n;++i)
{
cin>>p;
s[i]=p;
}
for(j=;j<m;++j)
{
cin>>x>>k;
f=false;
minn=INF;
do{
int v=n;
ans=;
for(i=;i<n;++i)
{
if(i==) ans=s[i];
else ans=ans*+s[i];
}
if((ans+x)%k==)
{
minn=min(minn,ans);
f=true;
}
} while (next_permutation(s,s+n));
if(!f)
cout<<"None"<<endl;
else cout<<minn<<endl;
}
}
80分暴力 每个大于10^(n-1)小于10^(n-1)*maxn倍数进行枚举 再看看出现次数是否一致
仅供参考,最后一点跑1分钟能跑出来。。
代码
#include <iostream>
#include <cstring>
#include <string>
#include <cstdio>
#include <cmath> using namespace std; bool f;
char s[];
int z,q,maxn,cs[],cs1[],b,t,r,w,x,k,a,n,m,i,j;
int Pd(int k)
{
memset(cs1,,sizeof(cs1));
sprintf(s,"%d",k);
for (j = ; j < strlen(s); ++j)
cs1[s[j]-]++;
for(j = ; j<= ;++j)
{
if(cs1[j]!=cs[j]) return ;
}
return ;
}
int main()
{
ios::sync_with_stdio(false);
int c;
cin >> n >> m;
z = pow(,n-);
for (i = ;i < n ;++i)
{
cin >> a;
cs[a]++;
maxn = max(maxn,a);
}
b = z * (maxn+);
for (i = ;i < m ;++i)
{
f=false;
cin >> x >> k;
q=z/k;
int c=b/k+;
while(q<c)
{
++q;
t=k*q-x;
if(Pd(t))
{
f=true;
cout << t <<endl;
break;
}
}
if(!f)
{
cout << "None" << endl;
}
}
}
点击展开
Codevs 1229 数字游戏的更多相关文章
- codevs 1229 数字游戏(可重集的全排列)
传送门 Description Lele 最近上课的时候都很无聊,所以他发明了一个数字游戏来打发时间. 这个游戏是这样的,首先,他拿出几张纸片,分别写上0到9之间的任意数字(可重复写某个数字),然后 ...
- 【wikioi】1229 数字游戏(dfs+水题)
http://wikioi.com/problem/1229/ 赤裸裸的水题啊. 一开始我认为不用用完全部的牌,以为爆搜会tle.. 可是我想多了. 将所有状态全部求出,排序后暴力判断即可. (水题有 ...
- codevs 1085 数字游戏 dp或者暴搜
1085 数字游戏 2003年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目描述 Description 丁丁最近沉迷于一个数字游戏之中.这个游戏看似简单 ...
- Codevs 1085 数字游戏
1085 数字游戏 2003年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 丁丁最近沉迷于一个数字游戏之中 ...
- codevs1229 数字游戏
1229 数字游戏 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解
- T1229 数字游戏 codevs
http://codevs.cn/problem/1229/ 题目描述 Description Lele 最近上课的时候都很无聊,所以他发明了一个数字游戏来打发时间. 这个游戏是这样的,首先,他拿出 ...
- 数字游戏(codevs 1085)
题目描述 Description 丁丁最近沉迷于一个数字游戏之中.这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易.游戏是这样的,在你面前有一圈整数(一共 ...
- 1861 奶牛的数字游戏 2006年USACO
codevs——1861 奶牛的数字游戏 2006年USACO 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 青铜 Bronze 题解 题目描述 Descript ...
- C语言猜数字游戏
猜数字游戏,各式各样的实现方式,我这边提供一个实现方式,希望可以帮到新手. 老程序猿就不要看了,黑呵呵 源代码1 include stdio.h include stdlib.h include ti ...
随机推荐
- 如何优化TableView
关于UITable的优化: 1.最常用的就是不重复生成单元格,很常见,很实用: 2.使用不透明的视图可以提高渲染速度,xCode中默认TableCell的背景就是不透明的: 3.如果有必要减少视图中的 ...
- Android网络请求框架
本篇主要介绍一下Android中经常用到的网络请求框架: 客户端网络请求,就是客户端发起网络请求,经过网络框架的特殊处理,让后将请求发送的服务器,服务器根据 请求的参数,返回客户端需要的数据,经过网络 ...
- @在php中的作用
@是PHP提供的错误信息屏蔽的专用符号. 使用@mysql_query 不会出现Warning,而原来mysql_query 在遇到错误时会在页面上访提示Warning. 看PHP的代码,总有些行前边 ...
- 面试题整理:SQL(二)
1. 现有广告合同表Orders,表示广告在哪个广告位的哪几天需要播出 OrderID Positioncode Startdate Enddate 1 A 2015-11-01 2015-11-03 ...
- 简述MVC框架模式以及在你(Android)项目中的应用
标题是阿里电话面试的问题,一直以为自己很清楚MVC模式,结果被问到时,居然没法将MVC和Android中各个组件对应起来,所以,面试肯定挂了,不过面试也是学习的一种方式,可以知道大公司看中什么,以及自 ...
- 走进云背后:微软Azure web 项目通过web service部署web site
探索云那不为人知的故事(一):Web Services部署web site 前奏:Windows Azure是微软基于云计算的操作系统,现在更名为“Microsoft Azure”,和Azure Se ...
- 【hbase】——HBase 写优化之 BulkLoad 实现数据快速入库
1.为何要 BulkLoad 导入?传统的 HTableOutputFormat 写 HBase 有什么问题? 我们先看下 HBase 的写流程: 通常 MapReduce 在写HBase时使用的是 ...
- hash查找
这里使用了编号代替真实的数据,只用来表示算法 #ifndef HASH_DATA_T #define HASH_DATA_T int #endif //HASH_DATA_T typedef stru ...
- contiki在keil下的stm32平台移植
参考博客: http://www.aiuxian.com/article/p-705047.html http://blog.csdn.net/u013232419/article/details/4 ...
- FineReport报表系统实例方案之医院院长查询分析系统
医院院长查询系统 目前,大中型医院的信息处理正从传统手工方式飞速向电脑信息化建设方案转变,一个大中型医院担负着繁重的医疗和科研任务,以及繁杂的事务性工作,院长必须时刻与各科室保持密切的连续,以便随时了 ...