Discuz! Board

 找回密码
 立即注册
查看: 12|回复: 0

2025春晚魔术

[复制链接]

574

主题

758

帖子

243万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2435189

烈空座 Lv:100
发表于 2025-1-28 23:25:20 | 显示全部楼层 |阅读模式
[C++] 纯文本查看 复制代码
#include <bits/stdc++.h>
using namespace std;
//2025 魔术 
//杯子,筷子,勺子随机摆放 
//筷子跟左边的东西互换
//杯子跟右边的东西互换 
//勺子跟左边的东西互换 
//拿起右手边的东西,干杯
int main()
{
	srand(time(0));//随机种子函数
	string b[3]={"筷子","杯子","勺子"};
	int a[3]={0,1,2};//"筷子","杯子","勺子"
	
	for(int i=1;i<=10;i++)
	{
		random_shuffle(a,a+3);//随机排序函数 
		cout<<"第"<<i<<"次试验:\n" ;
		cout<<"摆放顺序:"<<b[a[0]]<<" "<<b[a[1]]<<" "<<b[a[2]]<<" \n";
		
		int kz=find(a,a+3,0)-a;
		if(kz>0) swap(a[kz],a[kz-1]);
		cout<<"第1次交换后:"<<b[a[0]]<<" "<<b[a[1]]<<" "<<b[a[2]]<<" \n";
		
		int bz=find(a,a+3,1)-a;
		if(bz<2) swap(a[bz],a[bz+1]);
		cout<<"第2次交换后:"<<b[a[0]]<<" "<<b[a[1]]<<" "<<b[a[2]]<<" \n";
		
		int sz=find(a,a+3,2)-a;
		if(sz>0) swap(a[sz],a[sz-1]);
		cout<<"第3次交换后:"<<b[a[0]]<<" "<<b[a[1]]<<" "<<b[a[2]]<<" \n\n";
	}
	return 0;	
} 

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-2-12 19:34 , Processed in 0.049693 second(s), 29 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表