BNUZ-18-IT节 K题 骚年,你想见识真正的AK吗

原创 2018年04月17日 18:22:48
题目链接:点击打开链接
骚年,汝可知”AK”之力乎。
所谓AK就是all kill的意思,也就是在比赛结束前就将所有题目全都解出,而在茫茫人海的ACM赛场上总有队伍寻找着AK的的方法,但这往往都是不可能的。而二十二进制,是第二个恰好能表达AK的进制。这个进制将带领你走向AK。
在走向AK的道路上,它给出了一个二十二进制的数字a,希望你能找到一个大于等于a的最小的二十二进制数b,它能且能被7整除,因为7是个幸运数字,它将带给你好运。
只有寻找到二十二进制数b,你才可以见识到真正的AK,加油吧,骚年!
 
注意,在二十二进制下:
A可以转化为十进制10
B可以转化为十进制11
……
K可以转化为十进制20
L可以转化成十进制21

输入要求

每次先输入一个整数T(1 <= T <= 100),接下来T组测试数据
接下来每组数据输入一个二十二进制数a (0 <= a <= 22^100000)
保证这个二十二进制数只有大写字母[A-L]和数字[0-9]
 

输出要求

每对于每组数据第一行输出格式为"Case #i:",表示第i组测试数据
第二行输出为题目要求找到的这个二十二进制数(所有字母用大写表示)
 

测试数据

输入示例

2
AC
AK
 

输出示例

Case #1:
AI
Case #2:
B3
 

小贴士

对于第一组样例,AC的十进制为232,下一个能被7整除的十进制数为238,它所表示的二十二进制数为AI


题解:n进制转换成10进制后 模一个数 如果 为 1,n进制能否整除这个数 等于 这个n进制每个位上的数都转换为10进制的后数相加的结果除这个数。之后就是大数加法。 出题学长:小学数学时学过 21能被3整除 可以 等价于 2+1=3 能否被3整除, 然而我们队现场真的没有想到。ps:别用map,会tle,我再也不敢蛇皮操作了 orz

AC代码

#include <iostream>
#include <map>
#include <string>
#include <cstdio>

using namespace std;

char nm[] = "0123456789ABCDEFGHIJKL";

int change(char c) {
	if (c >= '0' && c <= '9') {
		return c - '0';
	}
	return c - 'A' + 10;
}

int yuu(string a) { //求余
	int sum = 0;
	for (int i = 0; a[i] != '\0'; i++) {
		sum += change(a[i]);
	}
	return sum % 7;
}

void _plus(string a, int yu) {
	int t[a.size()];
	for (int i = a.size()-1; i >= 0; i--) {
		t[i] = change(a[i]);
	}
	t[a.size()-1] += yu;
	for (int i = a.size()-1; i >= 0; i--) {
		if (t[i] >= 22) {
			a[i] = nm[t[i] % 22];
			if (i != 0)
				t[i-1]++;
			else
				a = "1" + a;
		} else {
			a[i] = nm[t[i]];
		}
	}
}

int main() {
	int t;
	string a;
	cin >> t;
	int cas = 0;
	while (t--) {
		cas++;
		cin >> a;
		int yu = yuu(a);
		string ans;
		if (yu == 0) {
			ans = a;
		} else
			ans = _plus(a, 7-yu);
		printf("Case #%d:\n", cas);
		cout << ans << endl;
	}
}

Python趣味百题-进阶篇

精选的30个实例都从趣味编程的角度出发,并兼顾实用性。实例涵盖了Python程序设计的基础知识和常用算法,很多实例来自编程大赛和企业面试题,具有很强的实用价值,实例遵循先提出问题,再分析问题,最后代码实现。
  • 2016年05月12日 10:01

2017年电赛K题省一资料,需要的Q 2662705746答案ARM;

单相用电器分析监测装置(K题)                                      摘    要        本作品以STM32、ADE775X芯片为控制核心,可根据电源线的电...
  • m0_37581018
  • m0_37581018
  • 2017-10-10 18:07:41
  • 1513

2017年全国大学生电子设计竞赛K题报告

****摘 要**** 本系统以STM32F103RCT6单片机为控制核心,以电压互感器Simonsen123 PT-007-1.0和电流互感器Simonsen123 CT-082作为...
  • weixin_38263509
  • weixin_38263509
  • 2017-12-06 14:55:52
  • 2304

加油吧!骚年

我大二想好好学习 当一个安卓的程序猿 大家有什么好的建议千万要提出来 帮助我 谢谢...
  • qq_39388035
  • qq_39388035
  • 2017-12-03 11:56:03
  • 80

一道防AK的好题【数列】

Time Limit 2000 ms Memory Limit 131072 KBytes Judge Standard Judge Description Czy手上有...
  • Woodstock_Cyber
  • Woodstock_Cyber
  • 2016-11-04 19:24:44
  • 737

[TYVJ 1927] 『Citric II』一道防AK好题 · 模拟

出题人真是丧(gan)心(de)病(piao)狂(liang)! 题面说的各种玄乎各种牛逼然而却毫无卵用 对于最后一组a b c ,因为要加上lastans以后=0,所以明显倒数第二组的解就是an...
  • ycdfhhc
  • ycdfhhc
  • 2015-10-25 21:57:17
  • 623

.net程序员学习计划

  • 2011年05月22日 17:44
  • 30KB
  • 下载

一个防AK的题

一个防AK的题目 时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte 总提交 : 181            测试通过 :...
  • pmz_Atlas
  • pmz_Atlas
  • 2016-09-22 13:39:54
  • 178

加油,骚年...

离职面试后的反思 刚刚完成公司的项目,被领导找来谈话,结果接到一个不好的消息说是公司准备裁员,很不幸“中奖了”,就这样被迫离开了本以为可以稳定发展、增长自身经验的公司,于是踏上了一段求职之旅。。...
  • Mr_18
  • Mr_18
  • 2017-11-23 18:47:43
  • 62

K题

DescriptionLittle Bob likes playing with his box of bricks. He puts the bricks one upon another and ...
  • qq_37808579
  • qq_37808579
  • 2017-03-20 12:45:32
  • 38
收藏助手
不良信息举报
您举报文章:BNUZ-18-IT节 K题 骚年,你想见识真正的AK吗
举报原因:
原因补充:

(最多只允许输入30个字)