码迷,mamicode.com
首页 > 其他好文 > 详细

九度OJ1468

时间:2014-09-04 13:07:49      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:blog   os   io   使用   ar   strong   for   art   div   

这道题其实就是个很简单的静态链表,需要注意的是,地址一共有5位,最后输出的时候如果之前是使用int类型存储地址的话,一定要强制规定输出的位数(5位),否则有可能会将高位省略。(如地址00001输出为1)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<string>
#include<iostream>
using namespace std;
int next[100001];
char letter[100001];
char str1[200001],str2[200001];
int add1[200001],add2[200001];
void caladd(string s,int&add)
{
    if(s=="NULL")
        add=-1;
    else if(s=="-1")
        add=-1;
    else
        add=(s[0]-‘0‘)*10000+(s[1]-‘0‘)*1000+(s[2]-‘0‘)*100+(s[3]-‘0‘)*10+(s[4]-‘0‘);
}
int main()
{
    int start1,start2,n,i,j,top1,top2;
    string s1,s2;
    while(cin>>s1>>s2>>n)
    {
        start1=0;
        start2=0;
        memset(next,-1,sizeof(next));
        memset(letter,0,sizeof(letter));
        caladd(s1,start1);
        caladd(s2,start2);
        if(start1==-1||start2==-1)
        {
            printf("-1\n");
            continue;
        }
        for(i=1;i<=n;i++)
        {
            char c;
            string a1,b1;
            int a,b;
            cin>>a1>>c>>b1;
            caladd(a1,a);
            caladd(b1,b);
            next[a]=b;
            letter[a]=c;
        }
        i=start1;
        top1=0;top2=0;
        while(i!=-1)
        {
            add1[top1]=i;
            str1[top1++]=letter[i];
            i=next[i];
        }
        str1[top1]=0;
        i=start2;
        while(i!=-1)
        {
            add2[top2]=i;
            str2[top2++]=letter[i];
            i=next[i];
        }
        str2[top2]=0;
        int l1=top1-1,l2=top2-1;
        while(str1[l1]==str2[l2]&&l1>0&&l2>0)
        {
            l1--;l2--;
        }
        if(l1==top1-1)
        printf("-1\n");
        else
        printf("%05d\n",add1[l1+1]);//这个地方非常重要,留此以为警戒
    }
    return 0;
}

  

九度OJ1468

标签:blog   os   io   使用   ar   strong   for   art   div   

原文地址:http://www.cnblogs.com/wickedpriest/p/3955776.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!