题目链接:点击打开链接

这里要注意的是

1. long long 类型应该怎么输出

2. 题目的意思要准确地理解,有可能会出现11111111,这种边界情况,这个时候,这是要按照2进制来做的。所以要另外考虑。

解决方案:

/******************************************************************************/
/*                                                                            */
/*  DON'T MODIFY main() function anyway!                                      */
/*                                                                            */
/******************************************************************************/#include <stdio.h>
#include <string.h>void solve(); /* write function solve() to process one case of the problem    */
void init(){}int main()
{  int i,t; init();scanf("%d\n",&t);for (i=0;i<t;i++){ printf("case #%d:\n",i);solve();}return 0;
}void solve(){char str[61];int record[128];int t[60];int diffNum;int base;int i;int length;long long out = 0;gets(str);//if(strlen(str)==1){printf("0\n");return;}diffNum=0;for(i=0;i<128;i++){record[i] = -1;//-1代表没有出现过ascii码对应于i的符号。}for(i = 0; i < strlen(str);i++){if(record[str[i]] == -1){diffNum++;if(diffNum==1) record[str[i]] = 1;else if(diffNum==2) record[str[i]] = 0;else {record[str[i]] = diffNum-1;}}}base = diffNum;  //意思是base的进制,但是对于diffNum=1的时候,要另外处理。if(base < 2) base = 2;//根据我们设置好的顺序进行替换,得到数字串for(i = 0;i < strlen(str);i++){t[i] = record[str[i]];}//我们暂时不考虑1进制的情况。length = strlen(str);for(i=0;i < length;i++){out = out*base + t[i];}printf("%I64d\n",out);
}

华师大 OJ 3053相关推荐

  1. 华师大 OJ 2822

    题目链接:点击打开链接 这个OJ平台很傻,输出的时候,在一行的末尾少输出一个空格都可能会出错的. 代码 #include <stdio.h> #include <stdlib.h&g ...

  2. 华师大 OJ 3040

    题目描述:点击打开链接 这道题目还是一样的方法.使用分布的思想方法就可以了. 代码: #include <stdio.h> #include <stdlib.h> #inclu ...

  3. 华师大 OJ 3055

    题目描述:点击打开链接 值得一提的是,对这里的题目描述要理解准确. #include <stdio.h> #include <stdlib.h> #include <st ...

  4. 华师大 OJ 3026

    题目链接:点击打开链接 这个题目做了2个小时.这些代码的确是值得学习借鉴的. 解决方案: #include <string.h> #include <stdio.h>void ...

  5. 华师大 OJ 2897

    题目描述:点击打开链接 值得一提的是:需要把这个用来输出的字符串最后手动补上一个0, tmp[count]='\0'; 解决方法: #include <stdio.h> #include ...

  6. 华师大 OJ 3024

    题目描述:点击打开链接 值得一提的是,抽象数据类型定义好,然后把函数实现好. 解决代码: /****************************************************** ...

  7. 华师大 OJ 2850

    题目描述:点击打开链接 这个是真的简单 解决方案: #include <stdio.h> #include <stdlib.h> #include <string.h&g ...

  8. 华师大 OJ 3023

    题目描述:点击打开链接 值得一提的是:这个问题调用了递归的方法来解决问题 另外,一开始的时候,我在cmp_char里面直接使用了return strcmp(*((char*)a),*((char*)b ...

  9. 华师大 OJ 2876

    题目描述:点击打开链接 这里要注意的是大整数进行除法的或者减法的时候,要记得判断当前大整数是不是大于0的. 因为我们这里定义的大整数只是自然数(N>=0) 解决方案: // 14:25--> ...

最新文章

  1. 2021各国人均GDP(IMF2021年10月版)
  2. 从基础设施到云原生应用,全方位解读阿里云原生新锐开源项目
  3. oracle动态 returning,oracle returning
  4. boost::ptr_vector相关的测试程序
  5. 忘却的旋律java2_mc忘却的旋律启动器下载
  6. 关于 SAP Spartacus SSR 服务器返回的响应是否应该被缓存的问题
  7. 十分钟学会制作一个漂亮的在线文档
  8. python怎样切换到上一行_如何返回到python中的前一行?
  9. 缓存雪崩,缓存穿透解决方案
  10. 通过 powershell 配置 IIS
  11. 安装redis 5.0.5版本 真香警告
  12. 一文读懂模拟电路和数字电路之间的区别和联系
  13. java 解析yml文件
  14. B站最近很火的damedane,unravel图片唱歌
  15. go 学习笔记之10 分钟简要理解 go 语言闭包技术
  16. 手Q与微信:最终结局将会是手足相残!
  17. 深度学习框架zf_深度学习十大框架比较
  18. IOS目标检测(翻译)
  19. “拧毛巾”和“吹泡泡”
  20. 网络安全行业与就业-网络安全事件分类

热门文章

  1. python 下载qq群文件_python作业/练习/实战:下载QQ群所有人的头像
  2. Python爬虫底层知识简介 - AI小白进阶之路
  3. 优质计算机教案,信息技术优质课教案.docx
  4. unicode,UTF-8,UTF-16,UTF-32是什么,各有什么关系
  5. 研发程序员求职简历表-Word简历可编辑下载
  6. 存储函数与存储过程(有这一篇就够了)
  7. 思维升级-如何设计一个秒杀系统?
  8. 第53章 SQL GROUP BY 语句教程
  9. git本地用户配置,及邮箱配置
  10. SDUT-OJ偏序关系