2021-10-25计科ACM新生培训第六次培训题解

Posted 道长没有道观

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021-10-25计科ACM新生培训第六次培训题解相关的知识,希望对你有一定的参考价值。

本题解顺序非比赛题目顺序
本题解顺序非比赛题目顺序
本题解顺序非比赛题目顺序
话不多说,直接开始题解部分

比赛题解

1791

传送门
AC题解:

#include<iostream>
using namespace std;
const int maxn=150; 
int a[maxn][maxn];
int main()
{
    int n,sum=0;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            cin>>a[i][j];
            if(i==j||(i+j==n+1))// i==j表示次对角线  i+j==n+1表示主对角线
            {
                sum+=a[i][j]; 
            }
        }
    }
    cout<<sum;
    return 0;
}

906


906-杨辉三角
AC代码:

#include<stdio.h>
int a[40][40];
int main()
{  
    //直接将范围为30的杨辉三角储存在数组中
    a[1][1]=1;
    for(int i=1;i<=30;i++)
    {
      for(int j=1;j<=i;j++)
      {
        a[i][j]+=a[i-1][j]+a[i-1][j-1];
      }
    }
    int n;
    while(~scanf("%d",&n)) //多组输入
    {
       for(int i=1;i<=n;i++)
       {
         for(int j=1;j<=i;j++)
         {
           printf("%d ",a[i][j]);
         }
         printf("\\n");
       }
       printf("\\n");
    }
    return 0;
}

1789


传送门
AC代码:

#include<stdio.h>
unsigned long long an[1000000];
int n;
int main()
{
	int t;
	scanf("%d", &t);
	while (t--)
	{
		int n;
		scanf("%d", &n);
		an[1] = 1;
		an[2] = 1;
		for (int i = 3; i <= n; i++)
		{
			an[i] = an[i - 1] + an[i - 2];
		}
		printf("%d\\n", an[n]);
	}
}

1790


传送门
AC代码:

#include<stdio.h>
char a[205];
int n, m;
int main(){
    n = 0;
    scanf("%s", a);
    m = sizeof(a);
    for (int i = 0; i < m; i++)
    {
        if (a[i] == 'a' || a[i] == 'd' || a[i] == 'g' || a[i] == 'j' || a[i] == 'm' || a[i] == 'p' || a[i] == 't' || a[i] == 'w')
        {
            n += 1;
        }
        else if (a[i] == 'b' || a[i] == 'e' || a[i] == 'h' || a[i] == 'k' || a[i] == 'n' || a[i] == 'q' || a[i] == 'u' || a[i] == 'x')
        {
            n += 2;
        }
        else if (a[i] == 'c' || a[i] == 'f' || a[i] == 'i' || a[i] == 'l' || a[i] == 'o' || a[i] == 'r' || a[i] == 'v' || a[i] == 'y')
        {
            n += 3;
        }
        else if (a[i] == 's' || a[i] == 'z')
        {
            n += 4;
        }
        
    }
    printf("%d", n);
    return 0;
}

感谢大家观看,NYOJ已经修好了,大家可以尽情刷题了!

以上是关于2021-10-25计科ACM新生培训第六次培训题解的主要内容,如果未能解决你的问题,请参考以下文章

蓝旭后端第六次培训课 MySQL

小组第六次会议

2018.11.23 浪在ACM 集训队第六次测试赛

培训第六天

2019JAVA第六次实验报告

什么是ACM培训