zoukankan      html  css  js  c++  java
  • 宁波工程学院2020新生校赛B

    链接:https://ac.nowcoder.com/acm/contest/6106/B
    来源:牛客网

    时间限制:C/C++ 1秒,其他语言2秒
    空间限制:C/C++ 262144K,其他语言524288K
    64bit IO Format: %lld

    题目描述

    最近小梁的皮卡丘迷上了一款叫做ACM的游戏,它想把小梁的所有密码都改成包含有A、C、M这三个字母的大写字母字符串,
    现在她需要检查之前的她拥有的密码中少了哪个字母(顺序无关,至多只会缺少一个字母,别问为什么问就是百万伏特!)。
    如果三个字母出现过则输出-1

    输入描述:

    第一行为一个整数T(1≤T≤100)
    第二至T+1行,每一行为一个字符串s(1≤∣s∣≤200)。
    (|s|代表字符串 s 的长度)。

    输出描述:

    输出 T 行,每行为一个字母,如果不存在缺少字母输出-1。
    示例1
    输入
    复制
    1
    SAFFDSAGFHGFDHREQITUODGJFDGMNQTFDOIUQJHDLSAJFIOQWUIJFDSDJH
    输出
    复制
    C

    题目大意:

    给出一串字符串,问少了A C M种的哪一个字母(最多少一个),如果3个字母都在则输出-1.

    解题思路:

    用标记数组统计一下,遍历字符串,用字母做下标,如果这个字母出现过了则数组内的值一定不为0,AC代码:

    #include <iostream>
    #include <algorithm>
    #include <cstring>
    #include <cstdio>
    using namespace std;
    const int N = 150;
    int main()
    {
    	int t;
    	cin>>t;
    	while(t--)
    	{
    		int a[N];
    		memset(a,0,sizeof a);
    		string str;
    		cin>>str;
    		for(int i=0;i<str.length();i++)
    		  a[str[i]]++;//遍历字符串统计一下
    		if(!a['A'])
    		  cout<<"A"<<endl;
    		else if(!a['C'])
    		  cout<<"C"<<endl;
    		else if(!a['M'])
    		  cout<<"M"<<endl;
    		else
    		  cout<<"-1"<<endl;
    	}
    	//system("pause");
    	return 0;
    }
    
  • 相关阅读:
    《javascript高级程序设计》第六章总结
    电子邮件写信页面开发代码
    JSON和XML的比较
    2014前端工程师基础课程作业
    cookie 和session 的区别详解
    substring()、slice()和substr()方法辨析
    Number()、parseInt()和parseFloat()辨析
    《javascript高级程序设计》第十三章知识点
    angular debounce 搜索去抖动/防抖
    js四舍五入保留两位小数的方法
  • 原文地址:https://www.cnblogs.com/Hayasaka/p/14294245.html
Copyright © 2011-2022 走看看