校赛部分水题

1236: xq and Crystal Mine

Time Limit: 1 Sec  Memory Limit: 128 MB

Submit: 313  Solved: 76

[Submit][Status][Web
Board
]

Description

xq once got a crystal from the Crystal Mine. A crystal of size n (n is odd; n>1) is an n?*?n matrix with a diamond inscribed into it.

You are given an odd integer n. You need to draw a crystal of size n. The diamond cells of the matrix should be represented by character "D". All other cells of the matrix should be represented by character "*". Look at the examples to understand what you need
to draw.

Input

The only line contains an integer n (3<=n<=101; n is odd).

Output

Output a crystal of size n.

Sample Input

3
5
7

Sample Output

*D*
DDD
*D*
**D**
*DDD*
DDDDD
*DDD*
**D**
***D***
**DDD**
*DDDDD*
DDDDDDD
*DDDDD*
**DDD**
***D***

HINT

Source

小Q

AC代码:

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

char a[105][105];

int main()
{
    int n;
    while(scanf("%d", &n)!=EOF)
    {
        for(int i=0; i<n; i++)
        {
            for(int j=0; j<n; j++)
            {
                a[i][j] = '*';
            }
        }
        for(int i=0; i<=n/2; i++)
        {
            for(int j=n/2-i; j<=n/2+i; j++)
            {
                a[i][j] = 'D';
            }
        }
        for(int i=n/2; i<n; i++)
        {
            for(int j=n/2-(n-i-1); j<=n/2+(n-i-1); j++)
            {
                a[i][j] = 'D';
            }
        }
        for(int i=0; i<n; i++)
        {
            for(int j=0; j<n; j++)
            {
                printf("%c", a[i][j]);
            }
            printf("\n");
        }
    }
    return 0;
} 

1246: xq的难题

Time Limit: 1 Sec  Memory Limit: 128 MB

Submit: 351  Solved: 119

[Submit][Status][Web
Board
]

Description

xq自从知道了高斯用一个公式求出1到100的正整数和,心里对高斯十分崇拜,因此,他就想出很多与与类似的问题,一来彰显自己对高斯的崇拜,二来表明自己是多么的聪明。每次xq想出的问题都可以被自己很快的解答出来,渐渐的,xq心有余而力不足了,刚开始的问题都是很简单的,不用思考就能得出答案,到后来,得想好长时间才能做出正确的解答。现在xq遇到了对自己来说最大的难题,这道题目xq已经想了3天3夜,还没有给出正确解答。在xq打算放弃解答的时候,xq遇到了会计算机的你,xq听说计算机的计算速度十分快,xq就打算再试最后一次,当然,他是求你帮他解决这个困难的问题。xq的问题与高斯的问题很像,不同的是,xq想知道的是从1到n(包括1和n)中间的所有偶数的和是多少。

Input

测试数据有多组,你需要处理到文件结尾(EOF)。

每组数据包括一个正整数n(1<=n<=100)。测试数据之间用换行符分隔。

Output

每组测试数据输出从1到n的所有偶数的和。

Sample Input

1
3

Sample Output

0
2

HINT

Source

小Q

AC代码:

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

int main()
{
    int n;
    while(scanf("%d", &n)!=EOF)
    {
        int ans = 0;
        for(int i=1; i<=n; i++)
        {
            if(i%2==0)ans+=i;
        }
        printf("%d\n", ans);
    }
    return 0;
}

1240: Text Holes

Time Limit: 1 Sec  Memory Limit: 128 MB

Submit: 281  Solved: 94

[Submit][Status][Web
Board
]

Description

xq wrote some text on a piece of paper and now he wants to know how many holes are in the text. What is a hole? If you think of the paper as the plane and a letter as a curve on the plane, then each letter divides the plane into
regions. For example letters "A", "D", "O", "P", "Q" "R",divide the plane into two regions so we say these letters each have one hole. Similarly, letter "B" has two holes and letters such as "C", "E", "F", "K" have no holes. We say that the number of holes
in the text is equal to the total number of holes in the letters of the text. Help Chef to determine how many holes are in the text.

Input

The first line contains a single integer T <= 40, the number of test cases. T test cases follow. The only line of each test case contains a non-empty text composed only of uppercase letters of English alphabet. The length of the
text is less then 100. There are no any spaces in the input.

Output

For each test case, output a single line containing the number of holes in the corresponding text.

Sample Input

2
CODECHEF
DRINKEATCODE

Sample Output

2
5

HINT

Source

小Q

AC代码:

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

char a[110];

int judge(char a)
{
    if(a == 'A')return 1;
    else if(a == 'D') return 1;
    else if(a == 'O') return 1;
    else if(a == 'P') return 1;
    else if(a == 'Q') return 1;
    else if(a == 'R') return 1;
    else if(a == 'B') return 2;
    else return 0;
}

int main()
{
    int T;
    scanf("%d", &T);
    while(T--)
    {
        scanf("%s", a);
        int ans = 0, len = strlen(a);
        for(int i=0; i<len; i++)
        {
            ans +=judge(a[i]);
        }
        printf("%d\n", ans);
    }
    return 0;
}

1241: 斐波那契数

Time Limit: 1 Sec  Memory Limit: 128 MB

Submit: 590  Solved: 68

[Submit][Status][Web
Board
]

Description

xq最近迷恋上了斐波那契数列,因为当n趋向于无穷大时,后一项与前一项的比值越来越逼近黄金分割0.618。不过令xq不开心的是,斐波那契数的增长速度太快了,以至于当n很大时,用计算机中的32位整数甚至64位整数都已经不能表示这个数了。基于这个原因,xq遇到了这个难题,xq想要知道第K(0<=K<=10^10000)项斐波那契数是奇数还是偶数,因为K太大了,xq不知道怎么解决这个问题,现在xq想让你解决这个问题。斐波那契数列是如下的一个数列,0,1,1,2,3,5……,其通项公式为F(n)=F(n-1)+F(n-2),(n>=2)
,其中F(0)=0,F(1)=1。

Input

第一行,T,表示有1<=T<100个测试样例。

接下来T行,每行一个数据K(0<=K<=10^10000),表示要判定的是哪一项。

Output

如果第K项是偶数,输出YES,否则输出NO。

Sample Input

2
0
1

Sample Output

YES
NO

HINT

Source

小Q

AC代码:

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

char a[10005];

int main()
{
    int T;
    scanf("%d", &T);
    while(T--)
    {
        scanf("%s", a);
        int m = 0, len = strlen(a);
        for(int i=0; i<len; i++)
        {
            m += a[i]-'0';
        }
        if(m%3==0)printf("YES\n");
        else printf("NO\n");
    }
    return 0;
}

1242: 唐学长的蜜月之旅 续集

Time Limit: 1 Sec  Memory Limit: 128 MB

Submit: 288  Solved: 15

[Submit][Status][Web
Board
]

Description

今年十月一日,唐学长又和他的女朋友出去旅游了! 这一次唐学长带着他的女朋友来到了北国江南—信阳这个美丽的城市。

陪着女朋友走在步行街购物的唐学长惊讶地发现初中的数学老师小强现在改行开起了小吃店。作为唐学长曾经的数学老师,小强想要了解唐学长现在的数学水平,于是他给唐学长出了一道数论难题,并对唐学长说“如果你能把这道题做出来,今晚我请客!”。

现在已知两个数gcd和lcm,问唐学长是否存在两个数a,b(a<=b)使得恰好它们的最大公约数为gcd,而最小公倍数为lcm。

Input

输入包含多组样例!每组样例先输入整数T(T<120),接下来有T行,每行有两个数gcd 和 lcm(1<=gcd<=lcm<2^31)

Output

对应每行输入,如果不存在a b满足条件,输出:“senior Tang is so smart!”,否则输出a b(a,b之间用空格隔开);如果存在多组解,输出对应a值最小的一组,详细输出格式见样例。

Sample Input

2
1 2
3 4

Sample Output

1 2
senior Tang is so smart!

HINT

假定你已经会了求GCD(最大公约数)的函数。

求LCM(最小公倍数)函数如下:

int lcm(int a, int b) {

return a/gcd(a,b)*b;

}

未完待续。。。

Source

殷华

AC代码:

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

int main()
{
    int gcd, lcm, T;
    while(scanf("%d", &T)!=EOF)
    {
        while(T--)
        {
            scanf("%d %d", &gcd, &lcm);
            if(gcd<=lcm && lcm%gcd==0)
            printf("%d %d\n", gcd, lcm);
            else printf("senior Tang is so smart!\n");
        }
    }
    return 0;
}

链接:正式赛    热身赛

时间: 2024-11-03 20:08:44

校赛部分水题的相关文章

ZJU校赛 一道计数题

题意是这样的 给定一个n*m的整数矩阵 n和m均小于1000 对这个矩阵删去任意行和列后剩余一个矩阵为M{x1,x2,,,,xm;y1,y2,,,,,yn}表示删除任意的M行N列 对于这个剩下的矩阵,我们考虑其中是否存在特殊的元素,保证这些元素是所在行最大,所在列最小的元素 且非之一. 求对于所有删法,上述元素个数之和 对10^9+7取余. 显然所有删法 有2^(n+m)种 暴力是搞不定的. 于是反过来看,矩阵的元素最多有10^6个 是不是可以考虑每一个元素对最终答案的贡献? 所谓贡献,就是它在

算法笔记_216:第六届蓝桥杯软件类校赛部分真题(Java语言C组)

目录 1 题目一 2 题目二 3 题目三 4 题目四 5 题目五 前言:以下代码仅供参考,若有错误欢迎指正哦~ 1 题目一 二项式的系数规律,我国数学家很早就发现了. 如[图1.png],我国南宋数学家杨辉1261年所著的<详解九章算法>一书里就出现了. 其排列规律: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 如下的程序,用来建立N行的杨辉三角形.请填写划线部分缺少的代码.

算法笔记_215:第六届蓝桥杯软件类校赛部分真题(Java语言B组)

目录 1 题目一 2 题目二 3 题目三 前言:以下代码仅供参考,若有错误欢迎指正哦~ 1 题目一 java中提供了对正则表达式的支持. 有的时候,恰当地使用正则,可以让我们的工作事半功倍! 如下代码用来检验一个四则运算式中数据项的数目,请填写划线部分缺少的代码. 注意:只填写缺少代码,不要写任何多余内容,例如,已有的双引号. public class A { public static int f(String s) { return s.split("________________&quo

kmp变形,带通配符的kmp——华科校赛E 好题

https://blog.csdn.net/a302549450/article/details/80948741?tdsourcetag=s_pctim_aiomsg 上面是题解的链接.., #include<cstdio> #include<iostream> #include<algorithm> #include<cmath> #include<cstring> #include<string> #include<map

2018bnu校赛总结

····我好菜,完全没有准确率只写了签到,完全被吊打QAQ 大概就是自己懒惰的后果吧qwq A 塞特斯玛斯塔 签到···我因为是多组样例wa了一发···· #include <bits/stdc++.h> using namespace std; char s[100010]; int main() { int t,n;scanf("%d",&t); while(t--){ scanf("%d",&n); int cnt=0; for(i

【杂题总汇】HDU多校赛第十场 Videos

[HDU2018多校赛第十场]Videos 最后一场比赛也结束了-- +HDU传送门+ ◇ 题目 <简要翻译> 有n个人以及m部电影,每个人都有一个快乐值.每场电影都有它的开始.结束时间和看了这部电影会得到的快乐值.电影分成两种类型,若同一个人连续(不是时间连续,是顺序连续)看了两部相同类型的电影,他的快乐值会扣除W,数据保证扣除的值不超过电影增加的快乐值. 特别的,一个人换电影不花费时间,即若第一部电影的结束时间等于下一部电影的开始时间,是可以两场都看的:看电影必须看完:一部电影只能一个人看

CSU 1425 NUDT校赛 I题 Prime Summation

这个题本来有希望在比赛里面出了的 当时也想着用递推 因为后面的数明显是由前面的推过来的 但是在计算的时候 因为判重的问题 ...很无语.我打算用一个tot[i]来存i的总种树,tot[i]+=tot[j]//j为可以由j推到i的一系列数,但这样是不对的,会产生大量重复计算... 看了下标程才发现要用二维来计算出种类总数,f[i][j]+=sum(f[i-j][k]) 表示在推i数的时候,第一个素数为j的种类数,注意j一定为素数,而且k不能大于j...标程里面处理的比较简练,就学了下他的写法. 至

西电校赛网络赛J题 lucas定理计算组合数

西电校赛网络赛J题  lucas定理计算组合数 问题 J: 找规律II 时间限制: 1 Sec  内存限制: 128 MB 提交: 96  解决: 16 [提交][状态][讨论版] 题目描述 现有数阵如下: 1    2  3   4     5    6 1   3   6  10  15 1   4  10   20 1   5   15 1    6 1 求这个数阵的第n行m列是多少(行列标号从1开始) 结果对10007取模 输入 多组数据,每组数据一行,包含两个整数n,m(1<=n<=

PKU2018校赛 H题 Safe Upper Bound

http://poj.openjudge.cn/practice/C18H 题目 算平均数用到公式\[\bar{x}=\frac{x_1+x_2+x_3+\cdots+x_n}{n}\] 但如果用int型计算,那么\(x_1+x_2+x_3+\cdots+x_n\)可能会超过\(2^{31}-1\) 算6个数的平均数可以这么算 Calculate the average of\(x_1,x_2,x_3\)\[\bar{x}_1=\frac{x_1+x_2+x_3}{3}\]Calculate t