第一题 第三题 第四题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Let_life_stop/article/details/84917306

第一题代码:

#include<iostream>
#include<string>
#include<cstring>
#include<iomanip>
#include<stack>
#include<queue>
#include<map>
#include<algorithm>
#include<stdio.h>
#include<string>
using namespace std;
# define inf 0x3f3f3f3f
# define ll long long
const int maxn = 100000+100;
map<string,int>q;
map<string,int>vis1;
map<int,string>vis2;
char str[maxn];
int main()
{
    gets(str);
    int len=strlen(str);
    string ans,temp;
    int maxx=0,num=0;
    for(int i=0; i<len; i++)
    {
        temp.clear();
        while(str[i]!=' ')
        {
            temp+=str[i];
            i++;
        }
        if(vis1[temp]==0){
        vis1[temp]=++num;
        vis2[num]=temp;
        }
        q[temp]++;
        if(q[temp]>maxx)
        {
            maxx=q[temp];
            ans=temp;
        }
    }
    for(int i=1;i<=num;i++){
    cout<<vis2[i]<<" "<<vis1[vis2[i]]<<endl;;
    }
    cout<<maxx<<" "<<ans<<endl;
    return 0;
}

第三题:

#include<iostream>
#include<string>
#include<cstring>
#include<iomanip>
#include<stack>
#include<queue>
#include<map>
#include<algorithm>
#include<stdio.h>
#include<string>
using namespace std;
# define inf 0x3f3f3f3f
# define ll long long
const int maxn = 100000+100;
//map<string,int>q;
//map<string,int>vis1;
//map<int,string>vis2;
map<char,int>q;
map<int,char>vis1;
map<int,char>vis2;
char str[maxn];
int main()
{
cin>>str;
int num=0;
int len=strlen(str);
for(int i=0;i<len;i++){
q[str[i]]++;
if(q[str[i]]>=2){
if(vis1[str[i]])continue;
vis1[str[i]]=1;
vis2[++num]=str[i];
}
}
for(int i=1;i<=num;i++){
cout<<vis2[i]<<" "<<q[vis2[i]]<<endl;
}
return 0;
}

第四题:

#include<iostream>
#include<string>
#include<cstring>
#include<iomanip>
#include<stack>
#include<queue>
#include<map>
#include<algorithm>
#include<stdio.h>
#include<string>
using namespace std;
# define inf 0x3f3f3f3f
# define ll long long
const int maxn = 100000+100;
int a[maxn],b[maxn];
int vis1[maxn],vis2[maxn];
int ans[maxn];
int main(){
int n,m,num=0;
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
if(vis1[a[i]]==0)
vis1[a[i]]++;
}
for(int i=1;i<=m;i++){
cin>>b[i];
if(vis1[b[i]]==1&&vis2[b[i]]==0){
ans[++num]=b[i];
vis2[b[i]]++;
}
}
for(int i=1;i<=num;i++){
cout<<ans[i]<<" ";
}
cout<<endl;
return 0;
}

猜你喜欢

转载自blog.csdn.net/Let_life_stop/article/details/84917306
今日推荐