三个国家的人排位置

#include<iostream>
using namespace std;
int cnt=0;
void f(int *a,int cur)
{
    if(cur==9)
    {
        /*int q,v,w;
        int i,j,k;
        for(i=0,j=1,k=2;k<9;i++,j++,k++)
        {
            q=a[i]%3;
            v=a[j]%3;
            w=a[k]%3;
            if(q==v&&q==w&&v==w) return ;
        }*/
        for(int i=0;i<7;i++)
        {
            if(a[i]%3==a[i+1]%3&&a[i]%3==a[i+2]%3&&a[i+1]%3==a[i+2]%3) return ;
        }
        cnt++;
        //for(int i=0;i<9;i++)
        //{
        //    cout<<a[i]<<" ";
        //}
        //cout<<endl;
        return ;
    }
    for(int i=0;i<9;i++)
    {
        int ok=1;
        for(int j=0;j<cur;j++)
            if(i==a[j]) ok=0;
        if(ok){
            a[cur]=i;
            f(a,cur+1);
        }
    }
}
int main()
{
    int a[9];
    f(a,0);
    cout<<cnt<<endl;
    return 0;
}

在我国,高铁的座位布局有着明确且细致的规划。一等座车的座席布局采用的是 “2+2” 的方式,每一整齐列着四个座位,这些座位分别以 “A、C、D、F” 来标识。其中,字母 “A” 和 “F” 所对应的座位靠近车窗,为乘客提供了欣赏沿途风景的绝佳位置;而字母 “C” 和 “D” 标识的座位则靠近中间的走道,方便乘客进出。 二等座车的座席布局则采用 “3+2” 的模式,每一设有五个座位,依次以 “A、B、C、D、F” 来表示。在这里,同样是字母 “A” 和 “F” 标识的座位靠窗,字母 “C” 和 “D” 标识的座位靠中间走道,而字母 “B” 所代表的是三座中间的座席。 此外,每个车厢的座位数范围在 1 至 17 之间;在座位标识中,字母的大小写并不影响其代表的座位位置。 当用户输入由一个数字后连接一个字母组成的座位号时,系统会根据输入的字母来准确判断该座位是处于靠窗、靠过道还是中间的位置。若用户输入的座位号不合法,系统将清晰地输出相应提示,如 “座位数错误”(数不在1~17之间) 或者 “座位标识错误”;若用户未先输入数,则提示用户“请先输入座位数”。以确保用户能够及时了解输入信息的有效性。 提示:利用scanf()的返回值辅助判断,即: 若返回值为0,表示未读入任何数据; 若返回值为2,表示读入2个数据。 输入格式: 输入在一行中给出待测试的座位号。 输出格式: 按要求给出测试结果:“靠窗”、“过道”、“中间”; 若输入错误,给出错误原因(以下4类之一)。 座位数错误 数应为1~17 座位数错误 座位数应为整数 座位标识错误 请先输入座位
05-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值