ACM实验室2020.11.01 天梯赛四

7-1 Hello World! (5分)

做法:PASS

代码:

#include<iostream>
using namespace std;
int main(){
    
    cout << "Hello World!" << endl;
}

7-2 电子汪 (10分)

做法:PASS

代码:

#include<iostream>
using namespace std;

int main(){
    int a,b;
    cin >> a >> b;
    for(int i = 0;i< a+b;i++){
        cout << "Wang!";
    }
    cout << endl;
}

7-3 大笨钟 (10分)

做法:这也没啥好说的……控制一下情况输出即可

代码:

//ȥ������£���AC�����Ȼ�����
//        ********
//       ************
//       ####....#.
//     #..###.....##....
//     ###.......######
//        ...........
//       ##*#######
//    ####*******######
//   ...#***.****.*###....
//   ....**********##.....
//   ....****    *****....
//     ####        ####
//   ######        ######
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<string>
#include<map>
#include<sstream>
#include<cstring>
#include<vector>
#include<iomanip>
#include<queue>
#include<set>
#define LL long long
#define _64 __int64
const double PI = atan(1.)*4.;
using namespace std;

int main(){
    int m,n;
    scanf("%d:%d",&n,&m);
    if(n<12){
        printf("Only %02d:%02d.  Too early to Dang.",n,m);
    }else{
        if(n==12&&m==0){
            printf("Only 12:00.  Too early to Dang.");
        }
        if(m==0){
            n-=12;
            while(n--){
                printf("Dang");
            }
        }else{
            n++;
            n-=12;
            if(n==13){
                n=12;
            }
            while(n--){
                printf("Dang");
            }
        }
    }
}

7-4 个位数统计 (15分)

做法:就注意一下string类型需要减一下‘0’才能变成int(char类型大概不用??大概)

代码:

//ȥ������£���AC�����Ȼ�����
//        ********
//       ************
//       ####....#.
//     #..###.....##....
//     ###.......######
//        ...........
//       ##*#######
//    ####*******######
//   ...#***.****.*###....
//   ....**********##.....
//   ....****    *****....
//     ####        ####
//   ######        ######
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<string>
#include<map>
#include<sstream>
#include<cstring>
#include<vector>
#include<iomanip>
#include<queue>
#include<set>
#define LL long long
#define _64 __int64
const double PI = atan(1.)*4.;
using namespace std;
int num[10];
int main(){

    string s;
    cin >>s;
    for(int i = 0;i < s.length();i++){
        num[s[i]-'0']++;
    }
    for(int i = 0;i < 10;i++){
        if(num[i]){
            cout << i << ":" << num[i] << endl;
        }
    }
    return 0;
}

7-5 古风排版 (20分)

做法:把这玩意看成一个二维数组矩阵就行,用两层for循环控制输入和输出,寻思明白了就不难

代码:

//ȥ������£���AC�����Ȼ�����
//        ********
//       ************
//       ####....#.
//     #..###.....##....
//     ###.......######
//        ...........
//       ##*#######
//    ####*******######
//   ...#***.****.*###....
//   ....**********##.....
//   ....****    *****....
//     ####        ####
//   ######        ######
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<string>
#include<map>
#include<sstream>
#include<cstring>
#include<vector>
#include<iomanip>
#include<queue>
#include<set>
#define LL long long
#define _64 __int64
const double PI = atan(1.)*4.;
using namespace std;

char num[1010][1010];
int main(){
    string s;
    int n;
    cin >> n;
    getchar();
    getline(cin,s);
    int len = s.length();
    int x = len / n;
    if(len % n != 0)
        x += 1;
    int endnum = 0,i,j;
    for(i = x-1;i >= 0;i--){  
        for(j = 0;j < n;j++){
            if(endnum < len)
                num[j][i] = s[endnum++]; 
            else
                num[j][i] = ' ';
        }
    }
    for(int i = 0;i < n;i++){
        for(int j = 0;j < x;j++)
            cout << num[i][j];
        cout << endl;
    }


    return 0;
}

7-6 连续因子 (20分)

做法:循环遍历,首先数得被因子整除,然后进入一个从任意因子开始循环这个因子后面的数看是否能整除,记录最大长度,当然要是找不到就输出它本身,之后循环输出即可

代码:

//ȥ������£���AC�����Ȼ�����
//        ********
//       ************
//       ####....#.
//     #..###.....##....
//     ###.......######
//        ...........
//       ##*#######
//    ####*******######
//   ...#***.****.*###....
//   ....**********##.....
//   ....****    *****....
//     ####        ####
//   ######        ######
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<string>
#include<map>
#include<sstream>
#include<cstring>
#include<vector>
#include<iomanip>
#include<queue>
#include<set>
#define LL long long
#define _64 __int64
const double PI = atan(1.)*4.;
using namespace std;

int main(){
    LL n;
    LL flag,sum = 0;
    cin >> n;
    for(LL i = 2;i * i <= n;i++){
        if(n % i != 0){
            continue;
        }
        LL maxl = 0,j = i,tempn = n;
        while(tempn % j == 0){
            tempn /= j;
            maxl++;
            j++;
        }
        if(sum < maxl){
            sum = maxl;
            flag = i;
        }
    }
    if(sum == 0){
        cout << 1 << endl << n << endl;
    }
    else{
        cout << sum << endl;
        for(int i = 0;i < sum;i++){
            if(i == 0){
                cout << flag+i;
            }
            else
                cout << "*" << flag+i;
        }
        cout << endl;
    }


}

7-7 PTA使我精神焕发 (5分)

做法:PASS

代码:

#include<iostream>
using namespace std;

int main(){
    cout << "PTA shi3 wo3 jing1 shen2 huan4 fa1 !" << endl;
}

7-8 稳赢 (15分)

做法:控制一下平局次数,然后……然后就判断

代码:

//去吧马里奥!把AC公主救回来!
//        ********
//       ************
//       ####....#.
//     #..###.....##....
//     ###.......######
//        ...........
//       ##*#######
//    ####*******######
//   ...#***.****.*###....
//   ....**********##.....
//   ....****    *****....
//     ####        ####
//   ######        ######
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<string>
#include<map>
#include<sstream>
#include<cstring>
#include<vector>
#include<iomanip>
#include<queue>
#include<set>
#define LL long long
#define _64 __int64
const double PI = atan(1.)*4.;
using namespace std;

int main(){
    int n;
    string s;
    cin >> n;
    int num = 0;
    while(cin >> s && s != "End"){
        if(num % n == 0 && num != 0){
            cout << s << endl;
            num = -1;
        }
        else{
            if(s == "ChuiZi")
                cout << "Bu" << endl;
            else if(s == "Bu")
                cout << "JianDao" << endl;
            else if(s == "JianDao")
                cout << "ChuiZi" << endl;
        }
        num++;
    }
}

7-10 人以群分 (25分)

做法:emmm就是先存起来,顺便求个平均值,之后排序,将前半部分的加起来,再根据总数是奇数还是偶数判断要不要+1,之后输出即可

代码:

//ȥ������£���AC�����Ȼ�����
//        ********
//       ************
//       ####....#.
//     #..###.....##....
//     ###.......######
//        ...........
//       ##*#######
//    ####*******######
//   ...#***.****.*###....
//   ....**********##.....
//   ....****    *****....
//     ####        ####
//   ######        ######
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<string>
#include<map>
#include<sstream>
#include<cstring>
#include<vector>
#include<iomanip>
#include<queue>
#include<set>
#define LL long long
#define _64 __int64
const double PI = atan(1.)*4.;
using namespace std;

LL num[100010];

int main(){
    int n;
    cin >> n;
    LL sum = 0;
    for(int i = 0;i < n;i++){
        cin >> num[i];
        sum += num[i];
    }
    sort(num,num+n);
    LL sum1= 0;

    for(int i = 0;i < n/2;i++){
        sum1 += num[i];
    }
    LL temp;
    if(n % 2 == 1){
        temp = n/2+1;
    }else{
        temp = n/2;
    }
    cout << "Outgoing #: " << temp << endl;
    cout << "Introverted #: " << n/2 << endl;
    cout << "Diff = " << sum - 2*sum1 << endl;

}

 

posted @ 2020-11-08 19:15  CCCCrack  阅读(150)  评论(0)    收藏  举报