《春季每日一题2022》
AcWing 3346. 你知道你的ABC吗
题目链接
https://www.acwing.com/problem/content/3349/
解析*
大小比较,推理。排序后首先得A和A+B+C,然后得B + C,剩余数中最小的为B,作差求得C.
Ac代码
点击查看代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 10;
int a[N];
bool st[N];
int main()
{
for(int i = 0; i < 7; i ++) scanf("%d", &a[i]);
sort(a, a + 7);
int A = a[0]; int sum = a[6];
st[0] = true; st[6] = true;
for(int i = 0; i < 7; i ++){
if(a[i] == a[6] - a[0]) st[i] = true;
}
int B;
for(int i = 0; i < 7; i ++){
if(!st[i]){
B = a[1];
break;
}
}
printf("%d %d %d", A, B, sum - A - B);
return 0;
}
3358. 放养但没有完全放养
题目链接
https://www.acwing.com/problem/content/3361/
解析
理解题意就可以写。
Ac代码
点击查看代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <map>
using namespace std;
const int N = 1010;
char s[N];
char ss[N];
map<char, int> mp;
int main()
{
scanf("%s", s + 1);
scanf("%s", ss);
for(int i = 1; i <= 26; i ++) mp[s[i]] = i;
int len = strlen(ss), cnt = 1;
for(int i = 1; i < len; i ++){
if(mp[ss[i]] <= mp[ss[i -1]]) cnt ++;
}
printf("%d\n", cnt);
return 0;
}

浙公网安备 33010602011771号