ACM俱乐部 字符串

时间:2022-01-21 22:54:14

数制转换分数: 2

时间限制:1 秒
内存限制:32 兆
特殊判题: 否
提交:59
解决: 24

标签

  • 进制转换

题目描述

求任意两个不同进制非负整数的转换(2进制~16进制),所给整数在long所能表达的范围之内。
不同进制的表示符号为(0,1,...,9,a,b,...,f)或者(0,1,...,9,A,B,...,F)。

输入格式

输入只有一行,包含三个整数a,n,b。a表示其后的n 是a进制整数,b表示欲将a进制整数n转换成b进制整数。a,b是十进制整数,2 =< a,b <= 16。

输出

可能有多组测试数据,对于每组数据,输出包含一行,该行有一个整数为转换后的b进制数。输出时字母符号全部用大写表示,即(0,1,...,9,A,B,...,F)。

样例输入

4 123 10

样例输出

27

提示[+]

*** 提示已隐藏,点击上方 [+] 可显示 ***

分类

  • 北京大学研究生复试上机真题
  •  #include <iostream>
    #include <string>
    #include <algorithm>
    using namespace std;
    string shuzi="0123456789ABCDEF";//用来 根据整数查找字符串中字符的位置
    int ch[]={};//根据字符存放该字符所对应的整数值
    long toshi(string str,int a)
    {
    int sum=;
    for(int i=;i<str.length();i++)
    {
    sum=sum*a+ch[str[i]];
    }
    return sum;
    }
    string change(int sum,int b)
    {
    string change="";
    if(sum==) change="";//"0"不要忘掉
    while(sum>)
    {
    change=change+shuzi[sum%b];
    sum=sum/b;
    }
    reverse(change.begin(),change.end());
    return change;
    }
    int main()
    {
    for(int i=;i<;i++)
    ch[''+i]=i;
    for(int i=;i<;i++)
    {
    ch['A'+i]=+i;
    ch['a'+i]=+i;
    }
    int a,b;
    string str;
    while(cin>>a>>str>>b)
    {
    int sum=toshi(str,a);
    string cha=change(sum,b);
    cout<<cha<<endl;
    }
    }

统计单词分数: 1.5

时间限制:1 秒
内存限制:32 兆
特殊判题: 否
提交:95
解决: 44

标签

  • 字符串处理
  • 统计单词数

题目描述

编一个程序,读入用户输入的,以“.”结尾的一行文字,统计一共有多少个单词,并分别输出每个单词含有多少个字符。
(凡是以一个或多个空格隔开的部分就为一个单词)

输入格式

输入包括1行字符串,以“.”结束,字符串中包含多个单词,单词之间以一个或多个空格隔开。

输出

可能有多组测试数据,对于每组数据,
输出字符串中每个单词包含的字母的个数。

样例输入

hello how are you.

样例输出

5 3 3 3

提示[+]

*** 提示已隐藏,点击上方 [+] 可显示 ***

分类

  • 华中科技大学究生复试上机真题
  •  #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
    string ss;
    while(getline(cin,ss))
    {
    int n=;int sum=;
    while(ss[n]!='.')
    {
    if(ss[n]==' ')
    if(sum!=)
    {
    cout<<sum<<" ";
    sum=;
    }
    if(ss[n]!=' ')
    sum++;
    n++;
    }
    cout<<sum<<endl;
    }
    }

字符串的查找删除

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:2798

解决:1101

题目描述:

给定一个短字符串(不含空格),再给定若干字符串,在这些字符串中删除所含有的短字符串。

输入:

输入只有1组数据。
输入一个短字符串(不含空格),再输入若干字符串直到文件结束为止。

输出:

删除输入的短字符串(不区分大小写)并去掉空格,输出。

样例输入:
in#include int main(){printf(" Hi ");}
样例输出:
#cludetma(){prtf("Hi");}
提示:

注:将字符串中的In、IN、iN、in删除。

来源:
2009年北京航空航天大学计算机研究生机试真题

天勤给出的答案是错的,没有考虑到“i      nwdqwd”的情况,应该先删空格,然后在删“in”

这题我的代码天勤自己的OJ AC不了,九度的可以

  #include<iostream>

 #include<string>
using namespace std; string low(string str)
{
for(int i=;i<str.length();i++)
if(str[i]<='Z'&&str[i]>='A') str[i]=str[i]+'a'-'A';
return str;
} int main()
{
int n=;
string s1,s2;
getline(cin,s1);
while(getline(cin,s2))
{ string temp=low(s1);
int j=;
while(j<s2.length())
{
if(s2[j]==' ')
s2=s2.substr(,j)+s2.substr(j+,s2.length());
else
j++;
}
j=;
while(j<s2.length())
{
if(low(s2.substr(j,s1.length()))==s1)
s2=s2.substr(,j)+s2.substr(j+s1.length(),s2.length());
else
j++;
}
cout<<s2<<endl;
}
return ;
}
/**************************************************************
Problem: 1168
User: 2009declan
Language: C++
Result: Accepted
Time:0 ms
Memory:1520 kb
****************************************************************/

最长&最短文本分数: 1.5

时间限制:1 秒
内存限制:32 兆
特殊判题: 否
提交:92
解决: 43

标签

  • 字符串处理
  • 字符串长度

题目描述

输入多行字符串,请按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。

输入格式

输入包括多行字符串,字符串的长度len,(1<=len<=1000)。

输出

按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。

样例输入

hello
she
sorry
he

样例输出

he
hello
sorry

提示[+]

*** 提示已隐藏,点击上方 [+] 可显示 ***

分类

  • 华中科技大学究生复试上机真题
  •  #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
    string s1[];
    int n=;
    while(getline(cin,s1[n]))
    {
    n++;
    }
    int max=s1[].length();
    int min=s1[].length();
    for(int i=;i<n;i++)
    {
    if(s1[i].length()>max) max=s1[i].length();
    if(s1[i].length()<min) min=s1[i].length();
    }
    for(int i=;i<n;i++)
    {
    if(s1[i].length()==min) cout<<s1[i]<<endl;;
    }
    for(int i=;i<n;i++)
    {
    if(s1[i].length()==max) cout<<s1[i]<<endl;;
    }
    return ;
    }

首字母大写分数: 1.5

时间限制:1 秒
内存限制:32 兆
特殊判题: 否
提交:95
解决: 48

标签

  • 字符串处理

题目描述

对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。
在字符串中,单词之间通过空白符分隔,空白符包括:空格(' ')、制表符('\t')、回车符('\r')、换行符('\n')。

输入格式

输入一行:待处理的字符串(长度小于100)。

输出

可能有多组测试数据,对于每组数据,
输出一行:转换后的字符串。

样例输入

if so, you already have a google account. you can sign in on the right.

样例输出

If So, You Already Have A Google Account. You Can Sign In On The Right.

提示[+]

*** 提示已隐藏,点击上方 [+] 可显示 ***

分类

  • 北京大学研究生复试上机真题
  • WS  :测试文件:/test0.out 结果:答案错误=======原因======当参考答案输出:wang Is A String-------时---------你的程序输出:Wang Is A String=================测试文件:/sample.out 结果:答案正确
  • 想不通为什么会有第一个是小写的w的情况,估计是OJ错了
  • 天勤上面的答案没有考虑到标点符号
  • 给出自己的代码
  •  #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
    string s;
    int n=;
    while(getline(cin,s))
    {
    if(s[]>='a'&&s[]<='z') s[]=s[]-('a'-'A');//先检查第一个
    for(int i=;i<s.length()-;i++)
    {
    if(s[i]<'A'||(s[i]>'Z'&&s[i]<'a')||s[i]>'z')
    if(s[i+]>='a'&&s[i+]<='z')
    s[i+]=s[i+]-('a'-'A');
    }
    cout<<s<<endl;
    }
    return ;
    }

字符串的反码分数: 1.2

时间限制:1 秒
内存限制:32 兆
特殊判题: 否
提交:143
解决: 47

标签

  • 字符转换

题目描述

一个二进制数,将其每一位取反,称之为这个数的反码。下面我们定义一个字符的反码。如果这是一个小写字符,则它和字符'a’的距离与它的反码和字符'z’ 的距离相同;如果是一个大写字符,则它和字符'A’的距离与它的反码和字符'Z’的距离相同;如果不是上面两种情况,它的反码就是它自身。

举几个例子,'a’的反码是'z’;'c’的反码是'x’;'W’的反码是'D’;'1’的反码还是'1’;'$'的反码还是'$'。
一个字符串的反码定义为其所有字符的反码。我们的任务就是计算出给定字符串的反码。

输入格式

输入每行都是一个字符串,字符串长度不超过 80 个字符。如果输入只有!,表示输入结束,不需要处理。

输出

对于输入的每个字符串,输出其反码,每个数据占一行。

样例输入

Hello 
JLU-CCST-2011 
!

样例输出

Svool 
QOF-XXHG-2011

提示[+]

*** 提示已隐藏,点击上方 [+] 可显示 ***

分类

  • 吉林大学究生复试上机真题
  •  #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
    string s;
    while(getline(cin,s))
    {
    if(s[]=='!'&&s.length()==) break;//注意:只有一个“!”
    string s1=s;//目的是复制长度
    for(int i=;i<s.length();i++)
    {
    if('a'<=s[i]&&s[i]<='z')
    s1[i]='z'-(s[i]-'a');
    else if('A'<=s[i]&&s[i]<='Z')
    s1[i]='Z'-(s[i]-'A');
    else s1[i]=s[i];
    }
    cout<<s1<<endl;
    }
    return ;
    }

统计字符分数: 1

时间限制:1 秒
内存限制:32 兆
特殊判题: 否
提交:138
解决: 78

标签

  • 字符串处理
  • 统计字符

题目描述

统计一个给定字符串中指定的字符出现的次数。

输入格式

测试输入包含若干测试用例,每个测试用例包含2行,第1行为一个长度不超过5的字符串,第2行为一个长度不超过80的字符串。注意这里的字符串包含空格,即空格也可能是要求被统计的字符之一。当读到'#'时输入结束,相应的结果不要输出。

输出

对每个测试用例,统计第1行中字符串的每个字符在第2行字符串中出现的次数,按如下格式输出:
c0 n0
c1 n1
c2 n2
... 
其中ci是第1行中第i个字符,ni是ci出现的次数。

样例输入

I
THIS IS A TEST
i ng
this is a long test string
#

样例输出

I 2
i 3
  5
n 2
g 2

提示[+]

*** 提示已隐藏,点击上方 [+] 可显示 ***

分类

  • 浙江大学研究生复试上机真题
  •  #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
    string a,b;
    while(getline(cin,a)&&(a[]!='#'))//getline(cin,str)读取一行
    {
    getline(cin,b);
    int count[]={};//ASCII码有128种
    for(int i=;i<b.length();i++)
    count[b[i]]++;
    for(int i=;i<a.length();i++)
    cout<<a[i]<<" "<<count[a[i]]<<endl;
    }
    return ;
    }
 
 

ACM俱乐部 字符串的更多相关文章

  1. 2017 ACM 字符串的本质

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2017 思路:思考字符串和数字的本质区别是什么. 今天先是试着做了一个完全背包的题目,发现自己还是不会做,弄 ...

  2. 【记忆化搜索&sol;数位DP】zznu2175(长度为n的含有ACM的字符串)

    随机字符串 题目描述 起名字什么的最麻烦,我们来生成一些随机字符串吧 生成的字符串当然是有要求的: .长度不能超过n .字符串中仅包含大写字母 .生成的字符串必须包含字符串“ACM” ok,是不是很简 ...

  3. 第四届河南省ACM SUBSTRING 字符串处理

    SUBSTRING 时间限制: 1 Sec  内存限制: 128 MB 提交: 17  解决: 5 [提交][状态][讨论版] 题目描述 You are given a string input. Y ...

  4. ACM俱乐部算法基础练习赛(1)

    A: 水题 代码: #include<cstdio> #include<algorithm> using namespace std; ]; int n,m,c; int ma ...

  5. 大牛对ACM入门菜鸟的一些话

    首先就是我为什么要写这么一篇日志.原因很简单,就是因为前几天有个想起步做ACM人很诚恳的问我该如何入门.其实就现在而言,我并不是很想和人再去讨论这样的话题,特别是当我发现我有很多的东西要学的时候,我实 ...

  6. 武汉科技大学ACM:1006&colon; 我是老大

    Problem Description 今年是2021年,正值武汉科技大学 ACM俱乐部成立10周年.十周年庆祝那天,从ACM俱乐部走出去的各路牛人欢聚一堂,其乐融融.庆祝晚会上,大家纷纷向俱乐部伸出 ...

  7. 有关怎样入门ACM

    想给大家看看   所以就弄了原创了,造成作者困扰请联系在下. 来源: 吴垠的日志 一些题外话 首先就是我为什么要写这么一篇日志.原因非常easy,就是由于前几天有个想起步做ACM人非常诚恳的问我该怎样 ...

  8. 字符串hash与字典树

    title: 字符串hash与字典树 date: 2018-08-01 22:05:29 tags: acm 算法 字符串 概述 这篇主要是关于字符串里的 字符串hash 和 字符串字典树,,两个都是 ...

  9. &lbrack;转载&rsqb;有关如何入门ACM

    来源: 吴垠的日志 一些题外话 首先就是我为什么要写这么一篇日志.原因很简单,就是因为前几天有个想起步做ACM人很诚恳的问我该如何入门.其实就现在而言,我并不是很想和人再去讨论这样的话题,特别是当我发 ...

随机推荐

  1. HDU 5968 异或密码

    p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...

  2. Vue&period;js基本规则提炼总结及计算属性学习

    Vue.js基本须知: 1)以“{{}}”格式 “Mustache” 语法(双大括号)来绑定表达式输出文本值; 2)以“{{{}}}”格式绑定原始的html,绑定的表达式内为字符串格式的html内容, ...

  3. IntelliJ IDEA的Maven项目在修改时报java&period;lang&period;OutOfMemoryError&colon; PermGen space异常

    什么也不说了---内存溢出,遇见太多回了,下面是解决方式: 1.在项目设置中新建Maven,然后设置VM: 2. 在pom.xml添加下面2个插件,一个是jrebel的,一个是jetty的 <b ...

  4. P1023 奶牛的锻炼

    P1023 奶牛的锻炼 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 USACO 描述 奶牛Bessie有N分钟时间跑步,每分钟她可以跑步或者休息.若她在第 ...

  5. 游戏开发设计模式之原型模式 &amp&semi; unity3d JSON的使用(unity3d 示例实现)

    命令模式:游戏开发设计模式之命令模式(unity3d 示例实现) 对象池模式:游戏开发设计模式之对象池模式(unity3d 示例实现) 实现原型模式 原型模式带来的好处就是,想要构建生成任意独特对象的 ...

  6. Linux C 简易聊天室

    Linux下实现聊天室 介绍:程序在CentOS下,采用C语言实现,结构为Client/Server结构; 服务端程序通过共享存储区存储聊天数据,并发送给每个连接的客户端: 服务端程序和客户端程序都是 ...

  7. 2014 Multi-University Training Contest 1 — D&period; Task

    题目链接:pid=4864">http://acm.hdu.edu.cn/showproblem.php?pid=4864 题目大意: 有N个机器.M个任务. 当中每一个机器有xi,y ...

  8. js Checkbox 传递多个值给后台

    ------前台JS "<input class=\'jTabCheck2\' type=\'checkbox\' partvguid=" + obj + " pr ...

  9. 教程:基于访问控制的ABAP CDS视图权限

    Hi! 对每一个CDS视图,我们都可以通过DCL(Data Control Language)定义访问控制.在这篇文章中,我会介绍ABAP CDS视图中非常重要的一面:权限管理. 本文的阐述基于我正在 ...

  10. bzoj3110&lpar;整体二分&rpar;

    #include<iostream> #include<cstdio> #include<cmath> #include<cstring> #inclu ...