【思维—进制模拟映射】Hot Air Ballooning Gym
来源:互联网 发布:淘宝客服怎么设置挂起 编辑:程序博客网 时间:2024/06/01 10:10
Think:
1知识点:思维题:map/set/进制模拟映射(康拓展开启迪)
2题意:输入一个字符串,判断“不同”字符串的数量,“不同”字符串的定义为出现的数字种类不尽相同
3思路:
将“相同”字符串映射成同一表现形式,然后判断有多少不同表现形式即可
4思路实现:
(1):进制模拟映射,将不同数字赋予不同的权值,然后求和后排序后判断不同数字的个数
vjudge题目链接
以下为Wrong Answer代码——pow()返回值为double类型,需要强制类型转换
#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>using namespace std;int tp, link[1014], book[14];char st[104];int main(){ int n, i, t, sum; while(~scanf("%d", &n)){ tp = 0; while(n--){ scanf("%s", st); sum = 0; memset(book, 0, sizeof(book)); for(i = 0; st[i] != '\0'; i++){ t = st[i] - '0'; if(!book[t]){ book[t] = 1; sum += pow(10, t); } } link[tp++] = sum; } sort(link, link+tp); int ans = 1; for(i = 1; i < tp; i++){ if(link[i] != link[i-1]){ ans++; } } printf("%d\n", ans); } return 0;}
以下为Accepted代码——十进制模拟映射
#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>using namespace std;int tp, link[1014], book[14];char st[104];int main(){ int n, i, t, sum; while(~scanf("%d", &n)){ tp = 0; while(n--){ scanf("%s", st); sum = 0; memset(book, 0, sizeof(book)); for(i = 0; st[i] != '\0'; i++){ t = st[i] - '0'; if(!book[t]){ book[t] = 1; sum += (int)pow(10, t); } } link[tp++] = sum; } sort(link, link+tp); int ans = 1; for(i = 1; i < tp; i++){ if(link[i] != link[i-1]){ ans++; } } printf("%d\n", ans); } return 0;}
以下为Accepted代码——二进制模拟映射
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int tp, link[1014], book[14];char st[104];int main(){ int n, i, t, sum; while(~scanf("%d", &n)){ tp = 0; while(n--){ scanf("%s", st); sum = 0; memset(book, 0, sizeof(book)); for(i = 0; st[i] != '\0'; i++){ t = st[i] - '0'; if(!book[t]){ book[t] = 1; sum += (1<<t); } } link[tp++] = sum; } sort(link, link+tp); int ans = 0; if(tp) ans++; for(i = 1; i < tp; i++){ if(link[i] != link[i-1]){ ans++; } } printf("%d\n", ans); } return 0;}
阅读全文
0 0
- 【思维—进制模拟映射】Hot Air Ballooning Gym
- Hot Air Ballooning
- CTU Open Contest 2016 Hot Air Ballooning
- Hot Air Ballooning (字符串分类)
- 思维-Gym
- Gym CERC 16 F Free Figuriness 思维+模拟
- 翻译题-思维-Gym
- 【思维】Cupcakes Gym
- Gym 100112DDoorman 模拟—水
- GYM-100952-Mancala【模拟】
- GYM 100801C Concatenation【思维】
- Gym 101615C 【数学思维】
- 思维模拟
- Gym 100499I (数学 模拟)
- GYM-100952-Palindrome Again !!【模拟】
- postgresql集群方案hot standby初级测试(一)——模拟集群状况
- codeforces gym 101142 F(思维)
- GYM 101128 A.Promotions【思维+暴力】
- Ping命令详解
- hibernate关联关系
- JSON字符串避免 $ref
- 使用URL Scheme进行App跳转的教程
- LeetCode-94-Binary Tree Inorder Traversal 中序遍历二叉树
- 【思维—进制模拟映射】Hot Air Ballooning Gym
- Android接口回掉步骤
- 论文投稿
- string类常用函数
- Hadoop2.8.1+Hbase1.3.1+win7 eclipse开发方法
- 机器学习_范数规则化
- 几种CRC计算源码
- maven-activiti-spring 环境及activiti初始化
- 如何得到连续序号