zoukankan      html  css  js  c++  java
  • 天梯赛题解 L1-049 天梯赛座位分配

    L1 水题完结撒花

    L2-001 紧急救援 (25 分)
    作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集尽可能多的救援队。
    
    输入格式:
    输入第一行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0 ~ (N−1);M是快速道路的条数;S是出发地的城市编号;D是目的地的城市编号。
    
    第二行给出N个正整数,其中第i个数是第i个城市的救援队的数目,数字间以空格分隔。随后的M行中,每行给出一条快速道路的信息,分别是:城市1、城市2、快速道路的长度,中间用空格分开,数字均为整数且不超过500。输入保证救援可行且最优解唯一。
    
    输出格式:
    第一行输出最短路径的条数和能够召集的最多的救援队数量。第二行输出从S到D的路径中经过的城市编号。数字间以空格分隔,输出结尾不能有多余空格。
    
    输入样例:
    4 5 0 3
    20 30 40 10
    0 1 1
    1 3 2
    0 3 3
    0 2 2
    2 3 2
    输出样例:
    2 60
    0 1 3
    #include <iostream>
    using namespace std;
    bool full[101];
    int main(){
        int N;
        int M[101];
        int maxt = -1;
        int seat[101][101][11];
        int reN;
        cin >> N;
        for(int i=0;i<N;++i){
            cin >> M[i];
            maxt = max(maxt,M[i]);
        }
        reN = N;
        int cnt = 1;
        for(int i=0;i<maxt;++i){
            for(int j=0;j<10;++j){
                for(int k=0;k<N;++k){
                    if(full[k])    continue;
                    if(reN == 1){
                        seat[k][i][j] = cnt;
                        cnt+=2;
                    }
                    else
                        seat[k][i][j] = cnt++;
                    if(j==9 && i == M[k]-1)    {
                        full[k] = true;
                        reN--;
                    }
                }
            }
        }
        for(int i=0;i<N;++i){
            cout << "#" << i+1 << endl;
            for(int j=0;j<M[i];++j){
                for(int k=0;k<10;++k){
                    cout << (k==0?"":" ") << seat[i][j][k];
                }
                cout << endl;
            }
        }
        return 0;
    } 
  • 相关阅读:
    codeforces 455B A Lot of Games(博弈,字典树)
    HDU 4825 Xor Sum(二进制的字典树,数组模拟)
    hdu 1800 Flying to the Mars(简单模拟,string,字符串)
    codeforces 425A Sereja and Swaps(模拟,vector,枚举区间)
    codeforces 425B Sereja and Table(状态压缩,也可以数组模拟)
    HDU 4148 Length of S(n)(字符串)
    codeforces 439D Devu and Partitioning of the Array(有深度的模拟)
    浅谈sass
    京东楼层案例思维逻辑分析
    浅谈localStorage和sessionStorage
  • 原文地址:https://www.cnblogs.com/--zz/p/10620566.html
Copyright © 2011-2022 走看看