码迷,mamicode.com
首页 > 其他好文 > 详细

ACM 实验室2020.11.08天梯赛练习*5

时间:2020-11-20 11:55:43      阅读:5      评论:0      收藏:0      [点我收藏+]

标签:nbsp   size   code   math   span   ace   最大   namespace   个人   

7-2 天梯赛座位分配 (20分)

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    int sets[100][10][10];//i个学校j个队伍第k个人的编号
    int n,maxt = -1;
    int nums[100];//存储每个学校的队伍数量
    cin >> n;
    for(int i = 0;i < n;i++)
    {
        cin >> nums[i];
        maxt = max(nums[i],maxt);//记录最大的队伍数量
    }
    int num = 0,lasti = -1;
    for(int j = 0;j < maxt;j++)//队伍数量
        for(int k = 0;k < 10;k++)
            for(int i = 0;i < n;i++)//每个学校依次编号
                if(j < nums[i])//还没分配完所有的队伍
                {
                    if(lasti == i)//说明只剩下一个学校
                    num += 2;
                    else
                    num ++;
                    sets[i][j][k] = num;
                    lasti = i;
                }
    for(int i = 0;i < n;i++)
    {
        cout << "#" << i + 1 << endl;
        for(int j = 0;j < nums[i];j++)
        {
            for(int k = 0;k < 10;k++)
            {
                cout << sets[i][j][k];
                if(k != 9)
                cout << " ";
            }
            cout << endl;
        }
    }
    return 0;
}

7-11 彩虹瓶 (25分)

#include<iostream>
#include<stdio.h>
#include<stack>
using namespace std;
int main(){
    int n,m,k;
    while(cin>>n>>m>>k){
        while(k--){
            int a;
            stack<int>sk;
            int f=0;
            int c=1;
            //ans=0;
            for(int i=0;i<n;i++){
                cin>>a;
                if(a==c){
                    c++;
                    while(!sk.empty()){
                        if(sk.top()==c){
                            c++;
                            sk.pop();
                        }
                        else{
                            break;
                        }
                    }
                }
                else{
                    sk.push(a);
                    if(sk.size()>m) f=1;
                }
                //cout<<sk.size()<<endl;
            }
            if(f==1||c<n){
                cout<<"NO"<<endl;
            }
            else{
                cout<<"YES"<<endl;
            }
        }
    }
    return 0;
}

 

ACM 实验室2020.11.08天梯赛练习*5

标签:nbsp   size   code   math   span   ace   最大   namespace   个人   

原文地址:https://www.cnblogs.com/aixiaodezsh/p/13982655.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!