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

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

相关推荐
m0_7431064619 小时前
【浙大&南洋理工最新综述】Feed-Forward 3D Scene Modeling(四)
深度学习·算法·计算机视觉·3d·几何学
runningshark19 小时前
【Linux】Virtualbox 中如何给Ubuntu扩容
笔记·学习
HZ·湘怡19 小时前
任意位置 单链表 回归
c语言·链表
Peregrine919 小时前
数据结构 - > 双链表
c语言·数据结构·算法
日拱一卒的小田19 小时前
ZYNQ学习笔记1-裸机-PS端中断配置、IO配置及PS/PL AXI交互(2-2)
笔记·学习·microsoft
楼田莉子19 小时前
仿muduo的高并发服务器——前置知识讲解和时间轮模块
服务器·开发语言·c++·后端·学习
小江的记录本19 小时前
【分布式】分布式核心组件——分布式限流:固定窗口、滑动窗口、漏桶、令牌桶算法,网关层/服务层限流实现
java·分布式·后端·python·算法·安全·面试
OYangxf19 小时前
C++中的回调函数:从函数指针到现代可调用对象
c++
不懂的浪漫19 小时前
一次设备映射缓存设计:用多索引 Map 把高频查询从遍历变成直接命中
java·算法·spring·缓存
apollowing19 小时前
启发式算法WebApp实验室:从搜索策略到群体智能的能力进阶(三十)
算法·启发式算法·web app