m0_58639380 2021-10-18 23:24 采纳率: 0%
浏览 121

PTA上运行结果与预期结果一致 但是提交答案错误

#include#include<string.h>using namespace std;#define N 50typedef struct StackNode{ char data; struct StackNode *next;}StackNode,*LinkStack;void InitStack(LinkStack &s){ s=NULL;}void Push(LinkStack &s, char x){ StackNode *p; p=new StackNode; p->data=x; s=p;}void Pop(LinkStack &s,char x)//出栈 { if(s!=NULL) { StackNode *p; x=s->data; p=s; s=s->next; delete p; }}void Print(int flag,LinkStack s){ if(flag == 0) { cout<<1<<endl; } else if(flag ==1||s!=NULL) { cout<<0<<endl; }}int main(){ char n[100]; while(cin>>n) { LinkStack s; InitStack(s); int flag =0; int x= strlen(n); for(int i=0;i<x-1;i++) { if(n[i]=='I') { Push(s,'I');//进栈 不考虑为空的情况 进栈后出栈 } else if(n[i]=='O'&&s!=NULL) { Pop(s,'O');//出栈 } else { flag = 1; break; } } Print(flag,s); } return 0;}

img

  • 写回答

1条回答 默认 最新

  • 关注
    
    #include <bits/stdc++.h>
    using namespace std;
     
    int main()
    {
        int i,len;
        char s[111];
        while(cin>>s)
        {
            int count=0;
            len=strlen(s);
            for(i=0;i<len;i++)
            {
                if(s[i]=='I')
                    count++;
                else
                    count--;
                if(count<0)
                    break;            
            }
            if(count==0)
                cout<<1<<endl;
            else
                cout<<0<<endl;
        }
        return 0;
    }
    

    img

    评论

报告相同问题?

问题事件

  • 创建了问题 10月18日

悬赏问题

  • ¥15 gojs 点击按钮node的position位置进行改变,再次点击回到原来的位置
  • ¥15 计算决策面并仿真附上结果
  • ¥20 halcon 图像拼接
  • ¥15 webstorm上开发的vue3+vite5+typeScript打包时报错
  • ¥15 vue使用gojs,需求在link中的虚线上添加方向箭头
  • ¥15 CSS通配符清除内外边距为什么可以覆盖默认样式?
  • ¥15 SPSS分类模型实训题步骤
  • ¥100 求ASMedia ASM1184e & ASM1187e 芯片datasheet/规格书
  • ¥15 求解决扩散模型代码问题
  • ¥15 工创大赛太阳能电动车项目零基础要学什么