【排列顺序判断是否一次交换能得到升序】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");

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

相关推荐
程序猿编码8 小时前
用C++从零开始造一个微型GPT,不借助任何第三方库
开发语言·c++·gpt·模型推理
茯苓gao8 小时前
机器人产业的三级火箭:卖电机、卖模组与卖整机,三种商业模式的终局推演
笔记·学习·机器人
qz5zwangzihan18 小时前
题解:Atcoder Beginner Contest abc466 F - Many Mod Calculation
c++·题解·优先队列·atcoder·大根堆·abc466·abc466f
froyoisle9 小时前
CSP 真题解析:[CSP-J 2019-T4] 加工零件
c++·算法·bfs·csp-j·算法竞赛·信息学·信奥赛
LuminousCPP9 小时前
C 语言集中实践全记录:顺序表 + 单链表原理实现与通讯录项目实战【附可运行源码】
c语言·开发语言·数据结构·经验分享·笔记
2401_869769599 小时前
内容7 内存管理 1
c++
兰令水9 小时前
hot100【acm版】【2026.7.13打卡-java版本】
java·开发语言·数据结构·算法·leetcode·面试
SuperByteMaster9 小时前
__set_MSP 和__set_MSPLIM 接口区别
c语言
Tisfy9 小时前
LeetCode 1291.顺次数:打表/枚举
算法·leetcode·题解·枚举·遍历
马里马里奥-9 小时前
大模型应用开发笔记04:LangChain 工具(Tool)与中间件(Middleware)详解
笔记·中间件·langchain