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 ...
随机推荐
- 怎样从外网访问内网WebSphere?
本地安装了一个WebSphere,只能在局域网内访问,怎样从外网也能访问到本地的WebSphere呢?本文将介绍具体的实现步骤. 准备工作 安装并启动WebSphere 默认安装的WebSphere端 ...
- 深入浅出TCP之半关闭与CLOSE_WAIT
转自:https://www.2cto.com/net/201309/243585.html(相关链接) 深入浅出TCP之半关闭与CLOSE_WAIT 终止一个连接要经过4次握手.这由TCP的半关闭( ...
- tls 双向认证 client端代码例子
example: python import httplib import json import ssl import urllib2 import requests CA_FILE = " ...
- eclipse中的ctrl+H使用中的问题
一.问题背景 ctrl+H其实包含好几个search如果是FileSearch,在第一个输入框是要搜索的文字,第二个是文件名(支持通配符:*.js或者*.*),下面是选择搜索的范围,然后点seach. ...
- Junit Framework -TestRule,自动化测试中如何再次运行失败的测试用例
有时由于服务器,浏览器等问题,会导致自动化测试用例运行失败,此处通过案例讲解如何使用Junit框架中的TestRule来实现重复运行失败的测试用例. 首先定义一个类并让它实现TestRule,代码如下 ...
- SQL 基础语法笔记教程整理
最近从图书馆借了本介绍 SQL 的书,打算复习一下基本语法,记录一下笔记,整理一下思路,以备日后复习之用. PS:本文适用 SQL Server2008 语法. 首先,附一个发现的 MySQL 读书笔 ...
- git如何修改用户名和邮箱名?
答: 使用git config --global --edit即可进行修改
- 因为强行关机, 而导致的fedora23 不能重新启动, 卡在开机logo那里的 修复 解决方案
其实, fedora23的U盘live 也很好用, 很流畅, 主要还是 要用一个比较好的/快的 U盘. 这样live U盘在4GB(3.75GiB)的内存中还是较快的 原来的U盘live系统用得很卡, ...
- 分布式事务框架&解决方案参考
两种开源解决方案框架介绍: https://blog.csdn.net/zyndev/article/details/79604395#_97 LCN: https://www.jianshu.com ...
- c# Database类的使用
参考资料http://ansonlh.iteye.com/blog/1689009 搜索:c# DatabaseFactory类