zoukankan      html  css  js  c++  java
  • 蓝桥杯-Anagrams问题

     算法训练 Anagrams问题  
    时间限制:1.0s   内存限制:512.0MB
        
    问题描述
      Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。
      输入格式:输入有两行,分别为两个单词。
      输出格式:输出只有一个字母Y或N,分别表示Yes和No。
      输入输出样例
    样例输入
    Unclear
    Nuclear
    样例输出
    Y


    水题,两个char数组%s %s读入,然后-'A'或-'a'放入整形数组,然后两个sort,接下来逐个比对


    #include<bits/stdc++.h>
    using namespace std;
    
    char s1[100],s2[100];
    int a[100],b[100];
    
    int main()
    {
    	scanf("%s %s",s1,s2);
    	int len1 = strlen(s1);
    	int len2 = strlen(s2);
    	
    	int i;
    	if(len1 != len2){
    		cout<<"N"<<endl;
    	}else{
    		for(i=0; i<len1; i++){
    			if(s1[i]>='A' && s1[i]<='Z') a[i]=s1[i]-'A';
    			else a[i]=s1[i]-'a';
    		}  
              
        	for(i=0; i<len2; i++){
    			if(s2[i]>='A' && s2[i]<='Z') b[i]=s2[i]-'A';
    			else b[i]=s2[i]-'a';
    		} 
    		
    		sort(a,a+len1);
    		sort(b,b+len2);
    		
    		for(i=0;i<len1;i++){
    			if(a[i] != b[i]){
    				break;
    			}
    		}
    		if(i == len1) cout<<"Y"<<endl;
    		else cout<<"N"<<endl;
    	}
    	
    	
    	return 0;
    } 

  • 相关阅读:
    C/C++学习笔记1
    好文章
    mosquitto.conf之log配置
    安装mosquitto报缺少dll文件的错误
    mysql分页性能
    mysql慢日志记录
    sql执行计划
    sql之临时表
    mysqldump
    最全的常用正则表达式大全——包括校验数字、字符、一些特殊的需求等等
  • 原文地址:https://www.cnblogs.com/pearfl/p/10733161.html
Copyright © 2011-2022 走看看