首页 > 其他分享 >(调过T1有感)~_~

(调过T1有感)~_~

时间:2024-10-04 09:00:21浏览次数:4  
标签:map cnt include 有感 int 调过 T1 ans now

#include <iostream>
#include <map>
#include <string>
#include <algorithm>

using namespace std;

const int mod = 26;
map <int, char> ma;
map <char, int> ma2;

int chushi()
{
	for (int i = 0; i <= 25; ++i)
	{
		ma[i] = 'a' + i;
	}
	
	for (int i = 0; i <= 25; ++i)
	{
		ma2[ma[i]] = i;
	}
}

map <string, bool> vis1;
long long cnt = 0;
map <string, bool> vis2;
map <string, bool> vis3;

const int maxn = 4e5 + 10;

string ans[maxn];

int main()
{
//	freopen("sile.out", "w", stdout);
	chushi();
//	for (int i = 0; i <= 25; ++i)
//	{
//		cout << ma[i] << ' ';
//	}
//	cout << '\n';
//	for (char i = 'a'; i <= 'z'; ++i)
//	{
//		cout << ma2[i] << ' ';
//	}

	string s;
	cin >> s;
	
	int siz = s.size();
	
	string now = s;
	ans[++cnt] = s;
	
	for (int i = 1; ; ++i)
	{
		for (int j = 0; j < siz; ++j)
		{
			now[j] = ma[(ma2[now[j]] + 1) % 26];
		}
		
		if (!vis1[now])
		{
			ans[++cnt] = now;
			vis1[now] = 1;
		}
		else
		{
			break;
		}
	}
	
	int last = cnt;
	
	sort(ans + 1, ans + cnt + 1);
	
	for (int i = 1; i <= last; ++i)
	{
		string now = ans[i];
		for  (int j = 1; ; ++j)
		{
//			cout << 1;
			for (int k = 0; k < siz; ++k)
			{
				now[k] = ma[(ma2[now[k]] * 3) % mod];
			}
			
			if (vis1[now] == 1 || vis2[now] == 1)
			{
				if (vis2[now] == 1)
				{
					break;
				}
				else
				{
					break;
				}
			}
			else
			{
				ans[++cnt] = now;
				vis2[now] = 1;
			}
		}
	}
	
	sort(ans + 1, ans + cnt + 1);
	
	last = cnt;
	
	for (int i = 1; i <= last; ++i)
	{
		string now = ans[i];
		
		for (int j = 1; ; ++j)
		{
//			cout << 1;
			for (int k = 0; k < siz; ++k)
			{
				now[k] = ma[(26 - ma2[now[k]]) % mod];
			}
			
			if (vis3[now] == 1)
				break;
			if (vis2[now] == 1 || vis3[now] == 1)
				continue;
			else
			{
				ans[++cnt] = now;
				vis3[now] = 1;
			}
		}
	}
	
	sort(ans + 1, ans + cnt + 1);
	cnt = unique(ans + 1, ans + cnt + 1) - ans - 1;
	
	cout << cnt << '\n';
	
	for (int i = 1; i <= cnt; ++i)
	{
		cout << ans[i] << '\n';
	}
	return 0;
} 

标签:map,cnt,include,有感,int,调过,T1,ans,now
From: https://www.cnblogs.com/xu-jh2024/p/18446305

相关文章

  • YC342A [ 20240922 CQYC NOIP 模拟赛 T1 ] 前缀(lcp)
    题意给定\(n,m\)以及长为\(n\)的字符串\(S\)。你需要构造字符串\(T\)使得\(\sumLCP(S,T[i,...,m])\)最大。求出这个最大值。\(n,m\le5\times10^3\)。Sol首先不难发现答案一定可以由若干\(S\)的前缀拼成。考虑找到最小的无法被拆为前缀的子段,显然这个......
  • A. 2025--[炼石计划--NOIP模拟三]--T1--矩形
    赛时草了个\(O(n^4\log(n))\)竟然能过70分虽然本来就是这么分配的,发现正解只需将二分改为双指针就可以了,最气的是上面计算的时候用到还是尺取下面就用的二分(唐诗)。其实这题就是暴力,然后在低级的暴力上加一些操作变得稍微高级一点。计算的话直接暴力查找不同颜色,只不过范围......
  • 【花雕学编程】Arduino动手做(232)---ESP32-S3 CAM使用DHT11模块测量温湿度
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来——小小的......
  • 【Proteus仿真】【32单片机】DHT11温湿度检测系统设计
    目录一、主要功能二、使用步骤三、硬件资源四、软件设计五、实验现象联系作者一、主要功能1、温湿度检测与LCD显示2、超过上限,降温除湿模块启动3、低于下限,升温增湿模块启动4、温湿度阈值设置5、超限报警二、使用步骤系统运行后,LCD1602显示传感器检测的温湿度......
  • 题解:P11129 【MX-X5-T1】「GFOI Round 1」Inverted World
    题目要求:\((a_l+\cdots+a_r)\div(r-l+1)\)是整数。即\(\frac{(a_l+a_r)\cdot(r-l+1)\div2}{r-l+1}\)为整数。即\(\frac{(a_l+a_r)}{2}\)为整数。即\(a_l+a_r\)为偶数。即\(m+(l-1)\cdotd+m+(r-1)\cdotd\)为偶数。即\(2m+(l+r-2)\cdotd\)为偶......
  • 【hot100-java】【合并两个有序链表】
    记忆中,两个指针合并即可。 建立哨兵节点dum/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(){}*ListNode(intval){this.val=val;}*ListNode(intval,ListNodenext......
  • 【hot100-java】【二叉树的层序遍历】
    二叉树BFS队列实现/***Definitionforabinarytreenode.*publicclassTreeNode{*intval;*TreeNodeleft;*TreeNoderight;*TreeNode(){}*TreeNode(intval){this.val=val;}*TreeNode(intval,TreeNodeleft,......
  • 来欣赏10k分讨T1代码
    点击查看代码#include<bits/stdc++.h>#define_num[i]usingnamespacestd;constintmaxn=1e5+9;constintmod=998244353;intn,cnt,ans,s[7][maxn],num[maxn<<3];intlow(intx,intid){returnlower_bound(s[id]+1,s[id]+n+1,x)-s[id]-1;}intup(intx,int......
  • 《迁移学习》—— 将 ResNet18 模型迁移到食物分类项目中
    文章目录一、迁移学习的简单介绍1.迁移学习是什么?2.迁移学习的步骤二、数据集介绍三、代码实现1.步骤2.所用到方法介绍的文章链接3.完整代码一、迁移学习的简单介绍1.迁移学习是什么?迁移学习是指利用已经训练好的模型,在新的任务上进行微调。迁移学习可以加快模......
  • DHT11
    DHT11前面一直在讲串口类设备,今天讲IO类设备,不同的接口方式目录DHT11查资料文档的梳理代码编写初始化(时钟、IO、其他)单总线的读取流程1、主机发送复位信号2、DHT11响应信号3、数据传输4、校验数据5、数据获取main.c补充:stlink有个调试的功能-tip:可以适当的总......