2018CCPC网络赛 C - Dream

题意

给定一个P,现在可以以任意方式重载'+'和'*'两个符号,使得满足下列等式

其中定义如下

需要注意的是,重载过后的'*'需要满足以下要求:

也就是说,重载'*'之后通过计算得到的**(k=1,2,3,...,p-1)的取值对于集合{1,2,3,...,p-1}是一个一一映射的关系**

​​​​最后输出2*p行,按照自己重载的'+'和'*',输出:

思路

由于可以以任意方式重载,所以可以把a+b直接重载为a+0 ,此时等式变成了,,可以发现等式恒成立,现在只需要满足一一映射就可以了,可以想到把a*b直接重载为a+1 ,按照上面的定义,=>(也就是)=>(也就是)=>.....=>k+1

此时得到的集合就是{2,3,4,....,p}恰好与一一映射需要的集合差一个p 于是对a*b的重载中加一个判断如果得到p就返回1就可以解决这个问题

代码

cpp 复制代码
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <cmath>
#include <vector>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <unordered_map>
using namespace std;
#define fi first
#define se second
#define pb push_back
#define pp pop_back()
#define int long long
#define laile cout<<"laile"<<endl
#define lowbit(x) ((x)&(-x))
#define double long double
#define sf(x) scanf("%lld",&x)
#define sff(x,y) scanf("%lld %lld",&x,&y)
#define sd(x) scanf("%Lf",&x)
#define sdd(x,y) scanf("%Lf %Lf",&x,&y)
#define _for(i,n) for(int i=0;i<(n);++i)
#define _rep(i,a,b) for(int i=(a);i<=(b);++i)
#define _pre(i,a,b) for(int i=(a);i>=(b);--i)
#define all(x) (x).begin(), (x).end()
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)
int p;
int deal(int a,int b)
{
	int now=a+1;
	if(now==p)return 1;
	else return now;
}
void solve()
{
	cin>>p;
	_rep(i,1,p)
	{
		_rep(j,1,p)
			cout<<(i-1)<<" ";
		cout<<'\n';
	}
	_rep(i,1,p)
	{
		_rep(j,1,p)
		cout<<deal(i-1,j-1)<<" ";
		cout<<'\n';
	}
	return ;
}
signed main()
{
	IOS;
	int T=1;
	cin>>T;
	while(T--)
		solve();
	return 0;
}
相关推荐
沃尔特。16 分钟前
直流无刷电机FOC控制算法
c语言·stm32·嵌入式硬件·算法
Cx330❀18 分钟前
【优选算法必刷100题】第038题(位运算):消失的两个数字
开发语言·c++·算法·leetcode·面试
Loo国昌20 分钟前
深入理解 FastAPI:Python高性能API框架的完整指南
开发语言·人工智能·后端·python·langchain·fastapi
hoiii1871 小时前
16APSK/32APSK调制解调MATLAB仿真实现
开发语言·matlab·fpga开发
济6171 小时前
linux 系统移植(第十七期)---Linux 内核移植(5)-- 修改网络驱动(2)--- Ubuntu20.04
linux·运维·网络
feifeigo1231 小时前
基于MATLAB的情感语音模板培训与识别实现方案
开发语言·matlab
JH30732 小时前
Java Spring中@AllArgsConstructor注解引发的依赖注入异常解决
java·开发语言·spring
码农水水2 小时前
米哈游Java面试被问:机器学习模型的在线服务和A/B测试
java·开发语言·数据库·spring boot·后端·机器学习·word
qq_406176142 小时前
深入剖析TCP/IP协议:互联网通信的基石
网络
C++ 老炮儿的技术栈2 小时前
C/C++ 中 inline(内联函数)和宏定义(#define)的区别
开发语言·c++·git·算法·机器人·visual studio