记录洛谷刷题C语言qaq
Paula 给 Daniel 写了一封信,她需要加粗文本的字体,以便视力恶化的 Daniel 阅读。
信可以用 . 和 # 组成的矩阵表示。对于所有信中原有的 #,Paula 需要将其向右下方扩展为
2
×
2
2 \times 2
2×2 的 #。
第一行两个整数 n , m n, m n,m,表示信的尺寸。
接下来 n n n 行,每 m m m 个字符,表示信的内容。
保证最后一行与最后一列中没有 #。
n n n 行,每行 m m m 个字符,表示加粗后的信。
4 4
....
.#..
....
....
....
.##.
.##.
....
7 7
.......
.####..
.#...#.
.#...#.
.#...#.
.####..
.......
.......
.#####.
.######
.##..##
.##..##
.######
.#####.
9 7
.......
.####..
.#...#.
.#...#.
.####..
.#.....
.#.....
.#.....
.......
.......
.#####.
.######
.##..##
.######
.#####.
.##....
.##....
.##....
对于
100
%
100\%
100% 的数据,
2
≤
n
,
m
≤
1
0
3
2 \le n, m \le 10^3
2≤n,m≤103。保证信中只包含 . 和 #。
本题分值按 COCI 原题设置,满分 50 50 50。
题目译自 COCI2020-2021 CONTEST #6 T1 Bold。
#include
#include
#include
#include
int n,m;
char a[1001][1001];
int book[1001][1001]={0};
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
scanf("\n%c",&a[i][j]);
if(a[i][j]=='#') book[i][j]=1;
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(book[i][j]==1) a[i+1][j]=a[i][j+1]=a[i+1][j+1]='#';
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++) printf("%c",a[i][j]);
printf("\n");
}
return 0;
}
兔 21:33:19
改下题目背景啊
兔 21:33:21
要符合SHZY核心价值观!!1
一只书虫仔 21:33:35
改成随机抽 3 个兔兔吃掉!
书虫背包里有 n n n 只兔兔,第 i i i 只兔兔被书虫编号为一个由大写字母组成的字符串 S i S_i Si。
书虫会 +C+,他用 +C+ 编写出了 random 函数,随机抽取出了三只兔兔。
不过书虫暂时得了神经性厌食症,书虫能吃下这三只兔兔当且仅当:
M,C,O 或 I 中的任意一个。书虫想问有多少种选择方案使得他能吃下他选的的三只兔兔?
第一行一个整数 n n n 代表兔兔个数。
接下来 n n n 行每行一个字符串 S i S_i Si 代表一只兔兔。
一行一个整数代表答案。
5
MINE
CRAFT
OLYMPIAD
IN
INFORMATICS
7
有如下 7 7 7 种选择方式:
MINE,CRAFT,OLYMPIAD。MINE,CRAFT,IN。MINE,CRAFT,INFORMATICS。MINE,OLYMPIAD,IN。MINE,OLYMPIAD,INFORMATICS。CRAFT,OLYMPIAD,IN。CRAFT,OLYMPIAD,INFORMATICS。本题采用捆绑测试。
M。对于 100 % 100\% 100% 的数据, 1 ≤ n ≤ 1 0 5 1\le n\le10^5 1≤n≤105, 1 ≤ ∣ S i ∣ ≤ 11 1 \le |S_i| \le 11 1≤∣Si∣≤11, S i S_i Si 由大写字母组成。
数据不保证 S i S_i Si 互不相同。
#include
#include
#include
#include
int n;
char s[17];
long long s1, s2, s3, s4;
int main() {
scanf("%d", &n);
for (int i = 1; i <= n; i ++) {
scanf("%s", s + 1);
if (s[1] == 'M') s1 ++;
if (s[1] == 'C') s2 ++;
if (s[1] == 'O') s3 ++;
if (s[1] == 'I') s4 ++;
}
printf("%lld\n", s1 * s4 * (s2 + s3) + s2 * s3 * (s1 + s4));
return 0;
}
给定一个仅包含大写字母的单词,删除该单词中的以下九个字母: C,A,M,B,R,I,D,G,E \texttt{C,A,M,B,R,I,D,G,E} C,A,M,B,R,I,D,G,E。
一行一个字符串,表示给定的单词。
一行一个字符串,表示删除字母后的字符串。
LOVA
LOV
KARIJERA
KJ
对于 100 % 100\% 100% 的数据,保证 3 ≤ 3 \le 3≤ 单词长度 ≤ 100 \le 100 ≤100。
本题分值按 COCI 原题设置,满分 50 50 50。
题目译自 COCI2012-2013 CONTEST #1 T1 DOM。
#include
#include
#include
#include
int main()
{
char s[1000];
scanf("%s",&s);
for(int i=0;i<=strlen(s);i++){
if(s[i]=='C' || s[i]=='A' || s[i]=='M' || s[i]=='B' || s[i]=='R' || s[i]=='I' || s[i]=='D' || s[i]=='G'|| s[i]=='E')
continue;
else
putchar(s[i]);
}
return 0;
}
给定 1 1 1 到 n n n 这 n n n 个正整数,请问能否恰好选择 k k k 个数,使选中的数之和为 s s s(每个数只能用 1 1 1 次)。
本题有多组数据。
第一行一个正整数 T T T,表示数据组数。
对于每组数据,一行 3 3 3 个正整数 n , k , s n,k,s n,k,s。
对于每组数据:
输出一行,一个字符串,Yes 或 No,表示是否可以恰好选择
k
k
k 个数,使选中的数之和为
s
s
s。
3
5 2 10
5 2 5
5 2 2
No
Yes
No
本题采用捆绑测试。
对于 100 % 100\% 100% 的数据, 1 ≤ T ≤ 1 0 3 1\le T\le10^3 1≤T≤103, 1 ≤ k ≤ n ≤ 1 0 9 1\le k\le n\le10^9 1≤k≤n≤109, 1 ≤ s ≤ 1 0 18 1\le s\le10^{18} 1≤s≤1018。
#include
#include
#include
#include
int T;
long long n,k,s,minSum,maxSum;
int main()
{
scanf("%d",&T);
while(T--)
{
scanf("%lld%lld%lld",&n,&k,&s);
minSum=(k*k+k)/2;
maxSum=(-(k*k)+(2*n+1)*k)/2;
if(s>=minSum&&s<=maxSum)
{
puts("Yes");
}
else
{
puts("No");
}
}
return 0;
}