zoukankan      html  css  js  c++  java
  • 【PAT甲级】1032 Sharing (25 分)

    题意:

    输入两个单词的起始地址和一个正整数N(<=1e5),然后输入N行数据,每行包括一个五位数的字母地址,字母和下一个字母的地址。输出这两个单词的公共后缀首字母的地址,若无公共后缀则输出-1。

    AAAAAccepted code:

     1 #define HAVE_STRUCT_TIMESPEC
     2 #include<bits/stdc++.h>
     3 using namespace std;
     4 string a1,a2;
     5 int n;
     6 string s,nex;
     7 char x;
     8 map<string,string>mp;
     9 map<string,int>m;
    10 int main(){
    11     cin>>a1>>a2>>n;
    12     for(int i=1;i<=n;++i){
    13         cin>>s>>x>>nex;
    14         mp[s]=nex;
    15     }
    16     int cnt=0;
    17     while(++cnt){
    18         if(cnt&1&&a1.size()==5){
    19             ++m[a1];
    20             if(m[a1]==2){
    21                 cout<<a1;
    22                 return 0;
    23             }
    24             a1=mp[a1];
    25         }
    26         else if(!(cnt&1)&&a2.size()==5){
    27             ++m[a2];
    28             if(m[a2]==2){
    29                 cout<<a2;
    30                 return 0;
    31             }
    32             a2=mp[a2];
    33         }
    34         if(a1.size()==2&&a2.size()==2){//不要使用a1.size()==a2.size()==2,尽管有些许样例可能如愿输出,实际上和想要的效果相差甚远,这样写先将a1的size和a2的size比较,相等即为1,不相等即为0,永远不会等于2
    35             cout<<-1;
    36             break;
    37         }
    38     }
    39     return 0;
    40 }
    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    Mysql命令非交互式执行SQL命令
    centos7离线安装rpm包自动解决依赖
    webpack
    【转】GUID学习
    Docker安装mysql
    C++的vector的使用方法
    php自动加载
    Spring MVC 入门笔记
    Java泛型
    Java输入输出
  • 原文地址:https://www.cnblogs.com/ldudxy/p/11509517.html
Copyright © 2011-2022 走看看