1 条题解

  • 0
    @ 2023-6-11 12:17:57

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    
    struct man{
    	string name;
    	int count;
    }a[1000];
    
    //排序函数 
    bool cmp(man m1,man m2){
    //	if(m1.count < m2.count) return m1.count > m2.count?true:false;
    //	if(m1.count==m2.count&&m1.name < m2.name) return m1.name > m2.name?true:false; 
    	if(m1.count > m2.count){
    		return true;
    	}else{
    		if(m1.count == m2.count && m1.name > m2.name){
    			return true;
    		}else{
    			return false;
    		}
    	}
    } 
    
    int main(){
    	int n,i,k = 0,p,j;
    	string s;
    	
    	cin>>n;
    	getchar();
    	for(i = 0;i < n;i++){
    		cin>>s;
    		//假设a数组中没有这个名字
    		p = -1; 
    		for(j = 0;j < k;j++){
    			if(a[j].name == s){
    				p = j;
    				break;
    			}
    		} 
    		
    		//如果a数组没有这个人 
    		if(p == -1){
    			a[k].name = s;
    			a[k].count = 1;
    			k++;
    		}else{
    			a[p].count = a[p].count + 1;
    		}
    	}
    	
    	//求最高得票人
    	sort(a,a+k,cmp);
    	
    	for(i = 0;i < k;i++){
    		cout<<a[i].name<<" "<<a[i].count<<endl;
    	}
    }
    
    
    

    Python :

    
    class Tj:
      def __init__(self,name,num):
        self.name=name
        self.num=num
      def __lt__(self, other):
        return self.num > other.num or self.num==other.num and self.name>other.name
        
    people={}
    n=int(input())
    for i in range(n):
      t=input()
      if t not in people:
        people[t]=1
      else:
        people[t]=people[t]+1
    tjlist=[]
    for key in people.keys():
      name=key
      num=people[name]
      tjlist.append(Tj(name=name,num=num))
    
    tjlist.sort()
    for item in tjlist:
      print(item.name,item.num)
    
    
    
    • 1

    信息

    ID
    2419
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者