【排列顺序判断是否一次交换能得到升序】2025-1-28

缘由关于#c语言#的问题:西奥特这里有三张卡片 上写着字母A,B,C_编程语言-CSDN问答

西奥特这里有三张卡片 上写着字母A,B,C西奥特想要把他们按一定顺序排在一排上. 并且最多只能执行一次下面的操作:选中两张卡片, 交换他们.西奥特想知道有没有可能将自己手里的卡牌排成 abc?如果可能输出"YES",否则输出"NO"

面条在夜晚睡觉时,总是被一段循环重复的歌声吵醒。他仔细聆听后发现,这段歌声实际上由三个音节不断重复组成。面条对歌声有自己的审美标准:如果这三个音节的音调是严格升序排列(从小到大),他会认为这是一段美的歌声;如果歌声不满足升序,但通过一次交换就能变成升序,他会认为这段歌声普通;如果以上两种情况都不满足,则面条会认为这段歌声简直是噪音。

现在,给定三个音节的音调,请你判断这段歌声是否符合面条的审美,并输出他的评价。

输入格式

输入共一行,包含三个非负整数,表示三个音节的音调。保证三个音调各不相同。

输出格式

输出一行,一个字符串,表示面条对这段歌声的评价:如果歌声是美的,输出 graceful;

如果歌声是普通的,输出 normal;

如果歌声是噪音,输出 noisy。

input1

复制代码

1 4 2

output1

复制代码

normal

数据规模与约定

对于100% 的数据,保证输入的三个音调为不超过100 的非负整数,并且三个音调互不相同。

cpp 复制代码
	std::string a, aa; char t = 0;
	std::cin >> a;
	if (a == "abc")std::cout << "Yes\n";
	else {
		aa = a, t = aa[0], aa[0] = aa[1], aa[1] = t;
		if (aa == "abc")std::cout << "Yes\n";
		else {
			aa = a, t = aa[0], aa[0] = aa[2], aa[2] = t;
			if (aa == "abc")std::cout << "Yes\n";
			else {
				aa = a, t = aa[1], aa[1] = a[2], aa[2] = t;
				if (aa == "abc")std::cout << "Yes\n";
				else std::cout << "No\n";
			}
		}
	}
cpp 复制代码
	std::string a, aa; char t = 0; bool k = 0;
	std::cin >> a; aa = a;
	if (a == "abc")k = 1;
	else a = aa, t = a[0], a[0] = a[1], a[1] = t;
	if (a == "abc")k = 1;
	else a = aa, t = a[0], a[0] = a[2], a[2] = t;
	if (a == "abc")k = 1;
	else a = aa, t = a[1], a[1] = a[2], a[2] = t;
	if (a == "abc")k = 1;
	std::cout << (k ? "Yes\n" : "No\n");
cpp 复制代码
	std::string a, aa; char t = 0;
	bool k = 0; int j = 0;
	std::cin >> a; aa = a;
pd:if (a == "abc"){ k = 1; goto sc; }
   else
   {
	   ++j;
	   if (j == 1)a = aa, t = a[0], a[0] = a[1], a[1] = t;
	   else if (j == 2)a = aa, t = a[0], a[0] = a[2], a[2] = t;
	   else a = aa, t = a[1], a[1] = a[2], a[2] = t;
	   if (j < 3)goto pd;
   }
	sc:std::cout << (k ? "Yes\n" : "No\n");

歪头山山头不正,觅月水水月不见。

相关推荐
挨踢学霸22 分钟前
技术全面重构|MsgHelper 新版深度拆解:交互、视觉与逻辑的底层优化(二)
经验分享·笔记·微信·架构·自动化
WJSKad123525 分钟前
【DepthPro】实战教程:单目深度估计算法详解与应用
算法
wzqllwy27 分钟前
8 大经典排序算法(Java 实现):原理 + Demo + 核心分析
java·算法·排序算法
We་ct28 分钟前
LeetCode 77. 组合:DFS回溯+剪枝,高效求解组合问题
开发语言·前端·算法·leetcode·typescript·深度优先·剪枝
重生之我是Java开发战士32 分钟前
【递归、搜索与回溯】二叉树中的深度优先搜索:布尔二叉树,求根节点到叶节点数字之和,二叉树剪枝,验证二叉搜索树,第K小的元素,二叉树的所有路径
算法·深度优先·剪枝
篮l球场32 分钟前
矩阵置零
算法
斌蔚司李33 分钟前
2026年3月趣站分享:线条素描/毛绒音乐/视频压缩/即时数字标牌 怀旧游戏模拟器
经验分享
mjhcsp33 分钟前
C++剪枝解析
c++·剪枝
wregjru33 分钟前
【网络】5.HTTP 协议详解与实现
c++
lihihi34 分钟前
P1650 [ICPC 2004 Shanghai R] 田忌赛马(同洛谷2587)
开发语言·算法·r语言