夢追い人

"It takes a dreamer to make a dream come true."―Vincent Willem van Gogh

糞問

やめてよ、こういうのw

0083

#include <cstdio>
int y, m, d;
int main() {
    while (scanf("%d%d%d",&y,&m,&d)!=EOF) {
        if (y==1868) {
            if (m==9) {
                if (d<8) puts("pre-meiji");
                else printf("meiji 1 %d %d\n",m,d);
            } else if (m < 9) {
                puts("pre-meiji");
            } else {
                printf("meiji 1 %d %d\n",m,d);
            }
        } else if (y < 1868) {
            puts("pre-meiji");
        } else if (y>1868&&y<1912) {
            printf("meiji %d %d %d\n",y-1868+1,m,d);
        } else if (y==1912) {
            if (m==7) {
                if (d<30) printf("meiji %d %d %d\n",y-1868+1,m,d);
                else printf("taisho 1 %d %d\n",m,d);
            } else if (m<7) {
                printf("meiji %d %d %d\n",y-1868+1,m,d);
            } else {
                printf("taisho 1 %d %d\n",m,d);
            }
        } else if (y>1912&&y<1926) {
            printf("taisho %d %d %d\n",y-1912+1,m,d);
        } else if (y==1926) {
            if (m==12) {
                if (d<25) printf("taisho %d %d %d\n",y-1912+1,m,d);
                else printf("showa 1 %d %d\n",m,d);
            } else if (m<12) {
                printf("taisho %d %d %d\n",y-1912+1,m,d);
            } else {
                printf("showa 1 %d %d\n",m,d);
            }
        } else if (y>1926&&y<1989) {
            printf("showa %d %d %d\n",y-1926+1,m,d);
        } else if (y==1989) {
            if (m==1) {
                if (d<8) printf("showa %d %d %d\n",y-1926+1,m,d);
                else printf("heisei 1 %d %d\n",m,d);
            } else {
                printf("heisei 1 %d %d\n",m,d);
            }
        } else {
            printf("heisei %d %d %d\n",y-1989+1,m,d);
        }
    }
}

0084

#include <iostream>
#include <string>
#include <vector>
using namespace std;
vector<string> ans;
int main() {
    string str;
    getline(cin,str);
    string word="";
    for (int i=0; i<str.length(); i++) {
        if (str[i]==' '||str[i]==','||str[i]=='.') {
            if (word.length()>=3&&word.length()<=6) {
                ans.push_back(word);
            }
            word="";
        } else {
            word += str[i];
        }
    }
    if (word.length()>=3&&word.length()<=6) ans.push_back(word);
    for (int i=0; i<ans.size()-1; i++) {
        cout << ans[i] << " ";
    }
    cout << ans[ans.size()-1] << endl;
}

0088

#include <iostream>
#include <string>
using namespace std;
string ab[26] = {
"100101","10011010","0101","0001","110",
"01001","10011011","010000","0111","10011000",
"0110","00100","10011001","10011110","00101",
"111","10011111","1000","00110","00111",
"10011100","10011101","000010","10010010","10010011",
"10010000"};
string ctoi(char c) {
    if (c==' ') return "101";
    else if (c=='\'') return "000000";
    else if (c==',') return "000011";
    else if (c=='-') return "10010001";
    else if (c=='.') return "010001";
    else if (c=='?') return "000001";
    else if (c>='A'&&c<='Z') return ab[c-'A'];
}
char itoc(string num) {
    if (num=="00000") return 'A';
    if (num=="00001") return 'B';
    if (num=="00010") return 'C';
    if (num=="00011") return 'D';
    if (num=="00100") return 'E';
    if (num=="00101") return 'F';
    if (num=="00110") return 'G';
    if (num=="00111") return 'H';
    if (num=="01000") return 'I';
    if (num=="01001") return 'J';
    if (num=="01010") return 'K';
    if (num=="01011") return 'L';
    if (num=="01100") return 'M';
    if (num=="01101") return 'N';
    if (num=="01110") return 'O';
    if (num=="01111") return 'P';
    if (num=="10000") return 'Q';
    if (num=="10001") return 'R';
    if (num=="10010") return 'S';
    if (num=="10011") return 'T';
    if (num=="10100") return 'U';
    if (num=="10101") return 'V';
    if (num=="10110") return 'W';
    if (num=="10111") return 'X';
    if (num=="11000") return 'Y';
    if (num=="11001") return 'Z';
    if (num=="11010") return ' ';
    if (num=="11011") return '.';
    if (num=="11100") return ',';
    if (num=="11101") return '-';
    if (num=="11110") return '\'';
    if (num=="11111") return '?';
}
int main() {
    string str;
    while (getline(cin,str)) {
        string num="";
        for (int i=0; i<str.length(); i++) num+=ctoi(str[i]);
        int cnt=0;
        string temp="", res="";
        for (int i=0; i<num.length(); i++) {
            cnt++;
            temp+=num[i];
            if (cnt==5) {
                res+=itoc(temp);
                cnt=0;
                temp="";
            }
        }
        if (temp.length()>0) {
            while (temp.length()<5) {
                temp+='0';
            }
            res+=itoc(temp);
        }
        cout << res << endl;
    }
}