首页 > 其他分享 >【MT2039】换换换

【MT2039】换换换

时间:2024-04-10 15:35:58浏览次数:21  
标签:string 换换 int cin -- freopen include MT2039

 

 题解:代码1是用结构体来进行的操作,但是每次查找会浪费很多时间,故超时

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<bits/stdc++.h>
using namespace std;
int n,t,m,x,y;
string k;
struct node{
    string s;
}a[50004];

void change(int p,int q){
    string v=a[q].s;
    a[q].s=a[p].s;
    a[p].s=v;
}

int main(){
    freopen("1.in","r",stdin);
    freopen("1.out","w",stdout);
    cin>>n>>m>>t;
    for(int i=1;i<=n;i++)
        cin>>a[i].s;
    while(t--){
        cin>>x>>y;
        change(x,y);
    }
    for(int i=1;i<=m;i++){
        cin>>k;
        for(int j=1;j<=n;j++){
            if(k==a[j].s){
               cout<<j<<endl;
               break;
            }
        }
    }
    return 0;
}

正解:用map求解 也是第一次接触stl的map 确实方便很多, 前一个元素为关键字,下一个元素为关键字的值

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<bits/stdc++.h>
using namespace std;
const int N=50004;
int n,m,t,p,q;
string s[N],x;
map<string,int>mp;
int main(){
    freopen("11.in","r",stdin);
    freopen("11.out","w",stdout);
    cin>>n>>m>>t;
    for(int i=1;i<=n;i++){
        cin>>s[i];
        mp[s[i]]=i;
    }
    while(t--){
        cin>>p>>q;
        swap(s[p],s[q]);
        swap(mp[s[p]],mp[s[q]]);
    }    
    while(m--){
        cin>>x;
        cout<<mp[x]<<endl;
    } 
    return 0;
}

 

标签:string,换换,int,cin,--,freopen,include,MT2039
From: https://www.cnblogs.com/wuhu-JJJ/p/18126123

相关文章

  • 不好意思,list.contain 去重该换换了!
    最近又是一轮代码review,发现了一些实现去重的代码,在使用list.contain......我沉思,是不是其实很多初学者也存在这种去重使用问题?所以我选择把这个事情整出来,分享一下。推荐一个开源免费的SpringBoot实战项目:https://github.com/javastacks/spring-boot-best-practice......
  • 中馥集团&换换名品仓播GMV破千万!
    近日,电商达人换换名品,到访中馥集团仓储中心,联手中馥昂总在万坪仓库进行直播,销售GMV破千万,再创新峰值。中馥集团拥有强大的供应链、稳定的销售通道、深度的厂商合作关系,构建了完整的品牌、产品营销体系,并在自有白酒品牌、自主开发商品方面进一步开拓,此次联手电商达人换换名品,充分发......
  • mysql替换换行符和回车
    替换MySQL中的换行符和回车概述在MySQL中,换行符和回车是特殊字符,可以引起一些问题。为了解决这个问题,我们需要使用MySQL的字符串函数和正则表达式来替换这些特殊字符。在本文中,我将向你展示替换换行符和回车的步骤以及相应的代码。流程图以下是替换MySQL中换行符和回车的整体流......
  • 在 input 输入框中有逗号自动替换换行符
    背景有一个业务场景,将excel中的多列数据复制到input文本框中,需要将换行符替换成逗号(,),便于后台系统批量查询。由于在粘贴数据到input中时,换行符会被删除,......