NYOJ 1277Decimal integer conversion (第九届河南省省赛)
XiaoMing likes mathematics, and heis just learning how to convert numbers between different
bases , but he keeps making errorssince he is only 6 years old. Whenever XiaoMing converts a
number to a new base and writes downthe result, he always writes one of the digits wrong.
For example , if he converts thenumber 14 into binary (i.e., base 2), the correct result should be
"1110", but he mightinstead write down "0110" or "1111". XiaoMing neveraccidentally adds or
deletes digits, so he might writedown a number with a leading digit of " 0" if this is the digit she
gets wrong.
Given XiaoMing 's output whenconverting a number N into base 2 and base 3, please determine
the correct original value of N (inbase 10). (N<=10^10)
You can assume N is at most 1billion, and that there is a unique solution for N.
Input
The first line of the input containsone integers T, which is the nember of test cases (1<=T<=8)
Each test case specifies:
* Line 1: The base-2 representationof N , with one digit written incorrectly.
* Line 2: The base-3 representationof N , with one digit written incorrectly.
Output
For each test case generate a singleline containing a single integer , the correct value of N
Sample Input
1 1010 212
Sample Output
14
题意多实例,然后每个样例给两行字符串分别是2进制的和3进制的,表示的是同一个十进制数。但是每个串都是有一个数是错的,让你通过这两个错的来找出呢个正确的十进制数。暴力找出所有情况的十进制数,然后一一对比相等说明这个十进制数就是正确的要求的数。
具体看代码,不算太难只不过中间一些小细节特别需要注意:
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<time.h>
#include<iostream>
#include<ctype.h>
#include<map>
#include<set>
#include<string>
#include<vector>
#include<algorithm>
#include<stdlib.h>
#include<queue>
#include<stack>
using namespace std;
int a[];
int b[];
char s[];
char s0[];
int h=,k=,len1,len2;
int f(int t)//将2进制转换为十进制存起来
{
int i;
int sum=;
for(i=; i<=len1; i++)//主意为什么此处是小于等于,main函数有解释
{
sum+=pow(,t)*(s[i]-'');
t--;
}
a[k++]=sum;
}
int ff(int t)//将3进制转换为十进制存起来
{
int i,sum=;
for(i=; i<=len2; i++)
{
sum+=pow(,t)*(s0[i]-'');
t--;
}
b[h++]=sum;
}
int main()
{
int t;
char cc,cc2;
int i,j;
scanf("%d",&t); while(t--)
{
//getchar(); scanf("%s",s);
scanf("%s",s0);
len1=strlen(s)-;//这个地方本来想着减不减无所谓,循环的时候控制一下就行
len2=strlen(s0)-;//但是试了好几次,只有用这个,然后循环变成<=才能出数据,可能因为用char的话最后一位会自动赋值一个\0表示结束吧,然后中间运行会莫名出现问题,具体啥问题我也不清楚,但是很神奇,计算到前一位就过了
h=;
k=;
for(i=; i<=len1; i++)//列举2进制串所有可能情况
{
cc=s[i];
if(s[i]=='')
s[i]='';
else
s[i]='';
f(len1);
s[i]=cc;
}
for(i=; i<=len2; i++)//列举3进制串所有可能情况
{
cc2=s0[i];
if(s0[i]=='')
{
s0[i]='';
ff(len2);
s0[i]='';
ff(len2);
}
else if(s0[i]=='')
{
s0[i]='';
ff(len2);
s0[i]='';
ff(len2);
}
else
{
s0[i]='';
ff(len2);
s0[i]='';
ff(len2);
}
s0[i]=cc2;
}
for(i=; i<k; i++)
{
for(j=; j<h; j++)
{
if(a[i]==b[j])
{
printf("%d\n",a[i]);
break;
}
}
}
memset(s,,sizeof(s));
memset(s0,,sizeof(s0));
}
}
NYOJ 1277Decimal integer conversion (第九届河南省省赛)的更多相关文章
- nyoj 1274信道安全 第九届河南省赛(SPFA)
信道安全 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 Alpha 机构有自己的一套网络系统进行信息传送.情报员 A 位于节点 1,他准备将一份情报 发送给位于节点 ...
- 『NYIST』第九届河南省ACM竞赛队伍选拔赛[正式赛二]-最小内积(第八届北京师范大学程序设计竞赛决赛)
H. 最小内积 Time Limit: 1000ms Memory ...
- 『NYIST』第九届河南省ACM竞赛队伍选拔赛[正式赛二]- Nearly Lucky Number(Codeforces Beta Round #84 (Div. 2 Only)A. Nearly)
A. Nearly Lucky Number time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
- 『NYIST』第九届河南省ACM竞赛队伍选拔赛[正式赛二]--Codeforces -35D. Animals
D. Animals time limit per test 2 seconds memory limit per test 64 megabytes input input.txt output o ...
- nyoj1273 河南省第九届省赛_"宣传墙"、状压DP+矩阵幂加速
宣传墙 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 ALPHA 小镇风景美丽,道路整齐,干净,到此旅游的游客特别多.CBA 镇长准备在一条道路南 面 4*N 的墙上做 ...
- NYOJ 1272 表达式求值 第九届省赛 (字符串处理)
title: 表达式求值 第九届省赛 nyoj 1272 tags: [栈,数据结构] 题目链接 描述 假设表达式定义为: 1. 一个十进制的正整数 X 是一个表达式. 2. 如果 X 和 Y 是 表 ...
- 河南省acm第九届省赛--《表达式求值》--栈和后缀表达式的变形--手速题
表达式求值 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 假设表达式定义为:1. 一个十进制的正整数 X 是一个表达式.2. 如果 X 和 Y 是 表达式,则 X+Y, ...
- 第七届河南省赛H.Rectangles(lis)
10396: H.Rectangles Time Limit: 2 Sec Memory Limit: 128 MB Submit: 229 Solved: 33 [Submit][Status] ...
- 第七届河南省赛10403: D.山区修路(dp)
10403: D.山区修路 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 69 Solved: 23 [Submit][Status][Web Bo ...
随机推荐
- AspectJ框架基于注解的AOP实现
AspectJ的AOP实现:有两种方式,一种是基于XML配置文件,一种是基于注解的,由于注解更为常用,这里 这里只针对注解来学习. ---------------------------------- ...
- MSVCR120.dll 解决
https://www.microsoft.com/en-us/download/details.aspx?id=40784 装之 from : https://answers.microsoft.c ...
- Docker学习笔记之从镜像仓库获得镜像
0x00 概述 之前我们说到了,Docker 与其他虚拟化软件的一处不同就是将镜像管理纳入到了功能之中.实现虚拟化只是程序能够无缝移植的一部分,而有了镜像管理,就真正取代了我们在移植过程中的繁琐操作. ...
- mysql Column count doesn't match value count at row 1
今天执行批量插入的操作,发现报了错 mysql Column count doesn't match value count at row 1. 后来发现原因:是由于写的SQL语句里列的数目和后面的值 ...
- Python3+PyQt5+PyCharm 桌面GUI开发环境搭建
Python3+PyQt5+PyCharm 桌面GUI开发环境搭建 一.安装python PyQt5所支持的python版本是不低于3.5版本 python3.5以上的版本安装:https://www ...
- 百度uid-generator源码
https://github.com/baidu/uid-generator snowflake算法 uid-generator是基于Twitter开源的snowflake算法实现的. snowfla ...
- 20145311 王亦徐 《网络对抗技术》 Web基础
20145311 王亦徐 <网络对抗技术> Web基础 实验内容 简单的web前端页面(HTML.CSS等) 简单的web后台数据处理(PHP) Mysql数据库 一个简单的web登陆页面 ...
- 【python--函数解读】
1.strip()函数:用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列(包括'\n', '\r', '\t', ' ') 注意: 该方法只能删除开头或是结尾的字符,不能删除中间部分的 ...
- CentOS6.8下安装mysql
转自https://blog.csdn.net/jeffleo/article/details/53559712?utm_source=itdadao&utm_medium=referral ...
- XXXcannot be resolved to a type
编写自动化测试用例一个新创建的用例中类继承了其他类,由于未知原因,eclipse没能自动编译源代码到build/classes(或其他classes目录)代码一直报错XXX cannot be res ...