问题标题: 酷町堂:1738 生日宴会

0
0
已解决
张舒斌
张舒斌
中级光能
中级光能
二话不说,先上错误代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    bool lr[n];
    string name[n];
    for(int i=1;i<=n;i++)
    {
        cin>>lr[i]>>name[i];
    }
    for(int i=n;i>=1;i--)
    {
        if(lr[i]==0)
        {
            cout<<name[i]<<endl;
        }
    }
    for(int i=1;i<=n;i++)
    {
        if(lr[i]==1)
        {
            cout<<name[i]<<endl;
        }
    }
    return 0;
}

本宝宝有点偷懒,是这样做的,求大佬们纠错。

满地打滚求回答!!!


0
已采纳
杨陈卓
杨陈卓
新手天翼
新手天翼

用结构体做

首先定义一个结构体:
 

struct node{
    字符串定义 name;
    布尔型 f;
}a[20010];

然后开始写主程序:
定义输入就不说了

 循环(定义 i=n;i>=1;i--)//倒序!! 
    {
        如果(a[i].f==0)//判断 
            输出<<a[i].name<<换行;
    }
    循环(定义 i=1;i<=n;i++)
    {
        如果(a[i].f==1)//判断
            输出<<a[i].name<<换行;
    }

主体思想:

首先想要靠左的椅子得从左进,谁先进谁就是先来的,所以要倒序。而从右边进来的(同左),所以就不需要倒序。

0
颜咏春
颜咏春
中级光能
中级光能

 

循环(定义 i=n;i>=1;i--)//倒序!!

 

{

 

如果(a[i].f==0)//判断

 

输出<<a[i].name<<换行;

 

}

 

循环(定义 i=1;i<=n;i++)

 

{

 

如果(a[i].f==1)//判断

 

输出<<a[i].name<<换行;

 

}

0
我要回答