The First Day at School

    xiaoxiao2021-03-26  26

    The First Day at School 写疯了:

    //============================================================================ // Name : test.cpp // Author : Qihan // Version : // Copyright : Your copyright notice // Description : Hello World in C++, Ansi-style //============================================================================ #include <bits/stdc++.h> #define pi acos(-1.0) using namespace std; typedef long long int LLI; typedef pair<LLI,LLI> PII; #define Lowbit(x) (x & (-x)) const int inf = 0x3f3f3f; const int maxn = (1000 + 10); vector<int> Map[10][10]; char str[maxn][maxn]; int len[maxn]; string day; int maxmap[10][10]; int x[10]; int y[10]; bool flag[maxn]; int main() { // freopen("/home/qihan/Documents/in","r",stdin); // freopen("/home/qihan/Documents/out1","w",stdout); int n; scanf("%d",&n); int cnt = 0; int last = 0; memset(flag,true,sizeof(flag)); memset(maxmap,0,sizeof(maxmap)); for(int i = 0; i < n; i ++) { char c; while(scanf("%s%c",str[cnt],&c)) { len[cnt] = strlen(str[cnt]); cnt ++; if(c == '\n') break; } int num; cin >> day >> num; for(int k = last; k < cnt; k ++) { if(day == "Tuesday") { Map[num][1].push_back(k); } else if(day == "Thursday") { Map[num][2].push_back(k); } else { Map[num][3].push_back(k); } } last = cnt; } for(int i = 1; i <= 4; i ++) { y[i] = 1; for(int j = 1; j <= 3; j ++) { int temp = Map[i][j].size(); y[i] = max(y[i],temp); } } for(int i = 0; i < 34; i++) { if(i % 11 == 0) printf("+"); else printf("-"); } printf("\n"); for(int s = 1; s <= 4; s ++) { bool vis = false; while(!vis) { vis = true; printf("|"); for(int k = 1; k <= 3; k ++) { if(maxmap[s][k] >= Map[s][k].size()){ for(int i = 0;i < 10;i ++) printf(" "); }else{ int mins = 0; int lx = maxmap[s][k]; for(;lx < Map[s][k].size();lx ++){ int ll = Map[s][k][lx]; if(mins + len[ll] <= 10){ printf("%s",str[ll]); mins = mins + len[ll]; if(mins < 10) { printf(" "); mins ++; } maxmap[s][k] ++; }else{ vis = false; break; } } while(mins < 10) { printf(" "); mins ++; } } printf("|"); } printf("\n"); } for(int i = 0; i < 34; i++) { if(i % 11 == 0) printf("+"); else printf("-"); } printf("\n"); } return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-350219.html

    最新回复(0)