| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 734 人关注过本帖
标题:题目过不了,为什么啊?
只看楼主 加入收藏
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
不是队列,是栈。

重剑无锋,大巧不工
2012-02-22 10:58
mayuebo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:257
专家分:1282
注 册:2005-9-8
收藏
得分:5 
Yes. 可不可以进站:可以,总共可以进3辆
in 第一辆进站
in 第二辆进站
in 第三辆进站
out 第一辆出站
out 第二辆出站
out 第三辆出站
FINISH 结束

成功贵在坚持
2012-02-22 13:12
mayuebo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:257
专家分:1282
注 册:2005-9-8
收藏
得分:0 
有一个问题是你没有把进出的ID打印出来

成功贵在坚持
2012-02-22 13:12
天天涯涯
Rank: 4
等 级:业余侠客
帖 子:215
专家分:267
注 册:2011-10-17
收藏
得分:0 
题目演示不是也没打啊
2012-02-22 13:20
天天涯涯
Rank: 4
等 级:业余侠客
帖 子:215
专家分:267
注 册:2011-10-17
收藏
得分:0 
所以我以为仅仅只需判断顺序是否合适,没有打印ID
2012-02-22 13:21
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
看来你俩的英文水平都得加强啊。我也不翻译了,这是AC代码。
程序代码:
#include<stdio.h>
#define MAX        24
char stack[MAX];
char in[MAX], out[MAX];
char solve[MAX];
int n, sn;
int cal()
{
    int i, sp = 0, ip = 0;
    char t;
    for(sn = 0, i = 0; i < n; i++)
    {
        t = out[i];
        while(sp <= 0 || (stack[sp - 1] != t && ip < n))
        {
            stack[sp++] = in[ip++];
            solve[sn++] = 1;
        }
        if(stack[--sp] != t) return 0;
        solve[sn++] = 0;
    }
    return 1;
}
void output()
{
    int i;
    if(cal())
    {
        printf("Yes.\n");
        for(i = 0; i < sn; printf("%s\n", solve[i++] ? "in" : "out"));
    }
    else printf("No.\n");
    printf("FINISH\n");
}
int main()
{
    while(scanf("%d %s %s", &n, in, out) != EOF) output();
    return 0;
}

重剑无锋,大巧不工
2012-02-22 22:57
快速回复:题目过不了,为什么啊?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036325 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved