火车购票

来源:互联网 发布:手机上门维修 知乎 编辑:程序博客网 时间:2024/04/29 09:32

昨天刚考完的ccf,以下是第二题的解题思路,关于问题描述以后补

#include<iostream>using namespace std;int main(){    int n;    cin>>n;    struct Shu{        int x;        int y;    };    Shu p[100];    int a[20][5];    int c[20];    for(int i=0;i<=19;i++)    {        c[i]=0;    }    for(int i=0;i<=n-1;i++)    {        cin>>p[i].x;    }    for(int i=0;i<=19;i++)    {        for(int j=0;j<=4;j++)        {            a[i][j]=i*5+j+1;        }    }    p[0].y=0;    c[0]=p[0].x;    for(int i=1;i<=n-1;i++)    {        int count=0;        for(int j=0;j<=i;j++)        {            if(p[i].x+c[j]>5)            {                count++;             } else{                c[count]=c[count]+p[i].x;                break;             }        }        p[i].y=count;    }    for(int i=0;i<=p[0].x-1;i++)    {        cout<<a[0][i]<<' ';    }    cout<<endl;    for(int i=1;i<=n-1;i++)    {        int z=0;        for(int j=0;j<i;j++)        {            if(p[j].y==p[i].y)            {                z=z+p[j].x;            }        }        int s=z+p[i].x;        for(int k=z;k<=s-1;k++)        {            cout<<a[p[i].y][k]<<' ';        }        cout<<endl;    }    } 

这里写图片描述

0 0
原创粉丝点击