ACM 序号互换
序号互换
- 描述
- 
Dr.Kong设计了一个聪明的机器人卡多,卡多会对电子表格中的单元格坐标快速计算出来。单元格的行坐标是由数字编号的数字序号,而列坐标使用字母序号。观察字母序号,发现第1列到第26列的字母序号分别为A,B,…,Z,接着,第27列序号为AA,第28列为AB,依此类推。 若给Dr.Kong的机器人卡多一个数字序号(比如32),它能很快算出等价的字母序号(即AF),若给机器人一个字母序号(比如AA)),它也能很快算出等价的数字序号(27),你能不能与卡多比试比试,看谁能算得更快更准确。 
- 输入
- 第一行: N 表示有多少组测试数据。 
 接下来有N行, 每行或者是一个正整数,或者是一个仅由大写字母组成的字符串。
 输入保证,所有数字序号和字母序号对应的数字序号均 ≤ 2*10^9
- 输出
- 对于每一行测试数据,输出一行。如果输入为一个正整数序号,则输出等价的字母序号;如果输入为字符串,则输出等价的数字序号。
- 样例输入
- 
3 
 27
 G
 AA
- 样例输出
- 
AA 
 7
 27 使用VS C++编译器,编译器会直接调用C++的pow函数,而不会调用C的pow函数。C++版的pow没有int型的参数,只能先转换成double类型,而网站上的编译器好像使用的是GCC,double到int数据类型的转换会提示出错,纠结了半小时。。。。#include <stdio.h> 
 #include <string.h>
 #include <stdlib.h>
 #include <math.h> int charToNum(char* str)
 {
 int num = ;
 int len = strlen(str);
 int i = ;
 while(i < len)
 {
 num += (str[i] - 'A' + ) * pow(, (len - i - ));
 i++;
 }
 return num;
 } void numToChar(int num, char* str)
 {
 int i = ;
 while(num > )
 {
 char c = 'A' + num % - ;
 int a = num /= ;
 if(c == 'A'-)
 {
 str[i] = 'Z';
 num = a-;
 }
 else
 {
 str[i] = c;
 num = a;
 }
 i++;
 }
 str[i] = '\0';
 num = i-;
 i = ;
 while(num > i)
 {
 char temp = str[num];
 str[num] = str[i];
 str[i] = temp;
 num--;
 i++;
 }
 } int main()
 {
 int num = ;
 scanf("%d", &num);
 while(num--)
 {
 char test[];
 scanf("%s", test);
 if(test[] <= '' && test[] > '')
 {
 int testNum = atoi(test);
 char testStr[];
 numToChar(testNum, testStr);
 printf("%s\n", testStr);
 }
 else
 printf("%d\n", charToNum(test));
 }
 return ;
 }
ACM 序号互换的更多相关文章
- 第四届河南省ACM 序号互换 进制转换
		序号互换 时间限制: 1 Sec 内存限制: 128 MB 提交: 41 解决: 19 [提交][状态][讨论版] 题目描述 Dr.Kong设计了一个聪明的机器人卡多,卡多会对电子表格中的单元格坐 ... 
- 河南省第四届ACM省赛(T1) 序号互换
		问题 A: 序号互换 时间限制: 1 Sec 内存限制: 128 MB难度1 题目描述 Dr.Kong设计了一个聪明的机器人卡多,卡多会对电子表格中的单元格坐标快速计算出来.单元格的行坐标是由数字编 ... 
- [河南省ACM省赛-第四届] 序号互换 (nyoj 303)
		相似与27进制的转换 #include<iostream> #include<cstdio> #include<cstring> #include<strin ... 
- nyist 303序号互换(数学推理)
		题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=303 思路: 开始看错题了,以为最多只有两个字母. 字母转数字的表达式很容易看出来是:(2 ... 
- 河南省第四届ACM程序设计大赛
		A: 序号互换 #include <cstdio> #include <cstdlib> #include <cstring> #include <algor ... 
- zzuli303(奇葩26进制转换)
		序号互换 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 Dr.Kong设计了一个聪明的机器人卡多,卡多会对电子表格中的单元格坐标快速计算出来.单元格的行坐标是由数字 ... 
- nyoj303-序号交换
		序号互换 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 Dr.Kong设计了一个聪明的机器人卡多,卡多会对电子表格中的单元格坐标快速计算出来.单元格的行坐标是由数字编号 ... 
- 大小写互换-"数字字符串"转换成数字
		今天穿着hacker浑浊马甲在百度编程课堂实训习题中发现了这个很简单的问题,就做了下. 为了考虑输入的是否是数字,结果写好后竟然超时了. 不过里面用到的将字符串装换成数字的方法,感觉是个收获,因此在此 ... 
- 【ACM】hud1166 敌兵布阵(线段树)
		经验: cout 特别慢 如果要求速度 全部用 printf !!! 在学习线段树 内容来自:http://www.cnblogs.com/shuaiwhu/archive/2012/04/22/24 ... 
随机推荐
- 用控制台命令拉取git最新仓库代码
			C#利用Diagnostics 拉取最新代码 示例代码 static void DiagnosticTest() { Process p; ProcessStartInfo psi; psi = ... 
- ubuntu无法进入桌面的修复
			今天的kubuntu更新后停在了启动logo上,无法进入系统界面了. 先在网上找了找,搜到了一个看起来很像的. 1)ubuntu在系统启动logo过后无法进入桌面的处理方法 一般情况下,无法显示桌面, ... 
- Vmware 中安装 Ubuntu Server (或者ubuntu 以文本界面登陆时) 分辨率无法全屏问题
			Vmware 中安装 Ubuntu Server/Ubuntu 分辨率,无法全屏问题 需要更改grub设置 在终端或者文本界面按下列步骤进行设置: 第一步: 输入命令 sudo vim /etc/de ... 
- Kafka 0.10 SocketServer源代码分析
			1概要设计 Kafka SocketServer是基于Java NIO来开发的,采用了Reactor的模式,其中包含了1个Acceptor负责接受客户端请求,N个Processor负责读写数据,M个H ... 
- Professional C# 6 and .NET Core 1.0 - What’s New in C# 6
			本文为转载,学习研究 What's New in C# 6 With C# 6 a new C# compiler is available. It's not only that a source ... 
- asp.net权限认证:OWIN实现OAuth 2.0 之客户端模式(Client Credential)
			asp.net权限认证系列 asp.net权限认证:Forms认证 asp.net权限认证:HTTP基本认证(http basic) asp.net权限认证:Windows认证 asp.net权限认证 ... 
- 使用cordova开发app
			前言 公司之前用的app就是一个套壳挂个链接就能用的app,后来需要添加微信分享方便传播,没办法只好做成混合式的app了, 因为之前做.net用vs可以创建cordova项目也试着玩过,就决定用cor ... 
- (求租仓库)navigationController .navigationBar 的属性设置
			需要做成的效果如下图的 
- 税号输入框  将input框中的输入自动转化成半角大写
			这两天出了这么一个需求,输入税号的时候,需要自动将其转化为半角大写,并且阻止标点符号中文汉字的输入.(下面会有:全半角转换.文本框选中.光标位置判断.设置光标位置 这些内容) 然后我就开始了慢慢查找资 ... 
- 使用Python实现子区域数据分类统计
			目录 前言 geopandas简介 子区域数据分类统计 总结 一.前言 最近碰到一个需求,需要统计某省内的所有市的某数据分布情况信息.现有该省的数据分布情况以及该省的行政区划数据.我通过 ... 
