首页 > 其他分享 >ABC串讲——337(A~C)

ABC串讲——337(A~C)

时间:2024-01-18 22:35:40浏览次数:58  
标签:ACCode ABC return log 串讲 int 337 namespace printf

A ab

\(S\) 长度不超过 100,随便搞~

遍历一遍,如果一个是“a”且下一个字符是“b”就有,否则没有。

ACCode
#include <bits/stdc++.h>

#define log printf

using namespace std;

int n, len;
string s;

int main() {
	scanf("%d", &n);
	cin >> s;
	len = s.size();
	for (int i = 0;i < len;i++)
		if ((s[i] == 'a' && s[i + 1] == 'b') || (s[i + 1] == 'a' && s[i] == 'b')) {
			log("Yes\n");
			return 0;
		}
	log("No\n");
	return 0;
}

AC记录

B A^A

\(\sqrt{18}\approx{4}\),枚举到 \(10^5\) 最多了。

枚举就完事儿了,连快速幂都不需要的。

ACCode
#include <bits/stdc++.h>

#define log printf

using namespace std;
typedef long long ll;

ll b;

int main() {
	scanf("%lld", &b);
	for (ll i = 1; i <= (int) 1e5; i++) {
		ll tmp = 1;
		for (ll j = 1;j <= i;j++)
			tmp *= i;
		if (tmp == b) {
			log("%lld\n", i);
			return 0;
		} else {
			if (tmp > b) {
				log("-1\n");
				return 0;
			}
		}
	}
	log("-1\n");
	return 0;
}

AC记录

C Number Place

数独 \(=9\times9\) 的矩阵,枚举就完事儿了。

ACCode
#include <bits/stdc++.h>

#define log printf

using namespace std;

const int N = 10;
int a[N][N];
bool cnt[N];

void add(int x, int y) {
    if (!cnt[a[x][y]])
        cnt[a[x][y]] = true;
    else {
        log("No\n");
        exit(0);
    }
}

int main() {
    // 读入,固定是九宫格
    for (int i = 1; i <= 9; i++)
        for (int j = 1; j <= 9; j++)
            scanf("%d", &a[i][j]);

    // 行
    for (int i = 1; i <= 9; i++) {
        memset(cnt, false, sizeof(cnt));
        for (int j = 1; j <= 9; j++)
            add(i, j);
    }
    //  列
    for (int i = 1; i <= 9; i++) {
        memset(cnt, false, sizeof(cnt));
        for (int j = 1; j <= 9; j++)
            add(j, i);
    }

    memset(cnt, false, sizeof(cnt));
    add(1, 1);
    add(1, 2);
    add(1, 3);
    add(2, 1);
    add(2, 2);
    add(2, 3);
    add(3, 1);
    add(3, 2);
    add(3, 3);

    memset(cnt, false, sizeof(cnt));
    add(1, 4);
    add(1, 5);
    add(1, 6);
    add(2, 4);
    add(2, 5);
    add(2, 6);
    add(3, 4);
    add(3, 5);
    add(3, 6);

    memset(cnt, false, sizeof(cnt));
    add(1, 7);
    add(1, 8);
    add(1, 9);
    add(2, 7);
    add(2, 8);
    add(2, 9);
    add(3, 7);
    add(3, 8);
    add(3, 9);

    memset(cnt, false, sizeof(cnt));
    add(4, 1);
    add(4, 2);
    add(4, 3);
    add(5, 1);
    add(5, 2);
    add(5, 3);
    add(6, 1);
    add(6, 2);
    add(6, 3);

    memset(cnt, false, sizeof(cnt));
    add(4, 4);
    add(4, 5);
    add(4, 6);
    add(5, 4);
    add(5, 5);
    add(5, 6);
    add(6, 4);
    add(6, 5);
    add(6, 6);

    memset(cnt, false, sizeof(cnt));
    add(4, 7);
    add(4, 8);
    add(4, 9);
    add(5, 7);
    add(5, 8);
    add(5, 9);
    add(6, 7);
    add(6, 8);
    add(6, 9);

    memset(cnt, false, sizeof(cnt));
    add(7, 1);
    add(7, 2);
    add(7, 3);
    add(8, 1);
    add(8, 2);
    add(8, 3);
    add(9, 1);
    add(9, 2);
    add(9, 3);

    memset(cnt, false, sizeof(cnt));
    add(7, 4);
    add(7, 5);
    add(7, 6);
    add(8, 4);
    add(8, 5);
    add(8, 6);
    add(9, 4);
    add(9, 5);
    add(9, 6);

    memset(cnt, false, sizeof(cnt));
    add(7, 7);
    add(7, 8);
    add(7, 9);
    add(8, 7);
    add(8, 8);
    add(8, 9);
    add(9, 7);
    add(9, 8);
    add(9, 9);
    log("Yes\n");
    return 0;
}

AC记录

标签:ACCode,ABC,return,log,串讲,int,337,namespace,printf
From: https://www.cnblogs.com/leo2011/p/17973546

相关文章

  • AtCoder ABC 273 复盘
    AARecursiveFunction模拟,递归、递推、累乘都可以。我用的累乘。ACCodeBBrokenRounding也是模拟,每次将\(X\leftarrowX\div10^{i-1}\)后判断\(X\bmod10\)是否\(\geq5\),若是,\(X\leftarrowX+10\);若不是,不进行操作。最后再将\(X\div10\)输出。ACCodeC(K+1)-......
  • abc227F - Treasure Hunting
    abc227F依次钦定x为路径上的第k大的数,然后dp即可。#include<cstdio>#include<algorithm>#include<cstring>#include<map>#include<queue>#include<bitset>#include<cmath>#include<set>#include<unordered_map>#definefo(i,......
  • ABC245G
    似乎是经典套路?先不考虑颜色限制,那么就直接把\(l\)个关键点当作起点跑多源最短路就行了。现在考虑颜色限制,有一种暴力的想法是枚举所有颜色,只把这种颜色的点当作起点,然后跑dijkstra,然后更新颜色不为这个的终点。发现这样终点就被更新了很多次,考虑优化。考虑枚举颜色的每个二......
  • AtCoder ABC 270 复盘
    A1-2-4TestACCodeBHammerACCodeCSimplepathACCodeDStones完全背包的应用。ACCodeEAppleBasketsonCircle有一点数学,又有一点贪心,还有二分。首先将每个篮子取走\(\min_{1\leqi\leqn}(A_i)\)个苹果,然后再不断扫描数组,按照题意取走苹果。ACCode......
  • AtCoder ABC 267 复盘
    ASaturdayACCodeBSplit?ACCodeCIndex×A(Continuousver.)本题可以采用类似滑动窗口的做法,使得时间复杂度降至\(O(n+m)\)。ACCodeDIndex×A(NotContinuousver.)本题是典型的01背包问题,只需要对值进行相应的修改即可。ACCodeEErasingVertices2本题......
  • ABC270H add 1
    题解里面有用鞅的停时定理的做法,但我现在既不会离散时间鞅也不记得这个定理是啥了,所以搞点阳间的做法。考虑列出操作次数的概率生成函数\(\mathscr{P}(x)\),也就是从初始状态开始操作\(i\)次后第一次达到终止状态的概率为\([x^i]\mathscr{P}(x)\),那么答案就是\(\mathscr{P}'(......
  • AtCoder ABC 279 复盘
    AwwwvvvvvvACCodeBLOOKUPACCodeCRANDOMACCodeDFreefall分析一下样例1,可以发现答案存在一个\(\sqrt{g}\),然后就联想到三分。这里图像是开口朝上的。注意要开longlong!(但我的代码需要__int128才行,玄学)ACCodeECheatingAmidakuji分析过程,可以发现第\(i\)次......
  • ABC311_g One More Grid Task 题解
    题目链接:Atcoder或者洛谷对于解决二维区间内的最值类型问题,我们常常有一类特别好用的方法,就是悬线法,它可以看做是单调栈的子集,但更加好理解和书写。对于悬线法,我们有一个常见的模型,找出面积最大的符合题意的最大的矩形:例题P4147玉蟾宫。对于悬线法而言,我们需要理解什么是悬......
  • ABC336 F Rotation Puzzle 题解
    QuestionABC336FRotationPuzzle给出一个\(H\timesW\)的矩阵,里面填有数字,有一种操作选定一个\((x,y)\)交换\((i+x,j+y)\)和\((H-i+x,W-j+y)\)对于每一个\(1\lei\leH-1,1\lej\leW-1\)问,是否能经过\(20\)次以内的操作使得,最后的矩形变成\((i,j)=((i-1)\t......
  • abc132F - Small Products
    abc132F-SmallProducts容易想到暴力dp,f[i][j]表示到第i个位置,且i位置上填的是j的方案数。虽然N非常大,但是如果我们考虑按\(\frac{n}{k}\)的值分块,那么就只有根号级别的数量\(f[i][j]\)表示在到第i个位置,且第i个位置选了第j个块中的数的方案数,那么所有能转移到第j个块的就是t......