P8318 『JROI-4』淘气的猴子(【LGR-108】洛谷 5 月月赛 I & JROI R4 Div.2)

众所周知,jockbutt 是一个可爱的女孩纸。 

题目描述

jockbutt 有一个正整数序列,长度为 n,分别为 a1,a2...an,她非常喜欢这个序列,平时都非常爱惜它们。

可是有一天,当 jockbutt 在和你约会的时候,有一只淘气的小猴子改变了这个序列。

猴子操作了 m 次。

猴子的操作有两种类型:

  • 1 x y 表示第 x 个元素加上第 y 个元素。
  • 2 x y 表示第 x 个元素乘上第 y 个元素。

特别且显然地,当 x=y,新的 x 就等于原来的 x 的两倍或平方。

序列最后结果形如 b1,b2...bn。

等到 jockbutt 回来时,全洛谷的人都在看猴子。(其实 jockbutt 才是他们看的猴子吧​)

jockbutt 非常生气,希望你能告诉她这个序列最初的形态,也就是 a1,a2,a3,...,an 否则她就会嘤嘤嘤...

输入格式

一共有 m+2行。

第一行输入两个数 n,m。

第二行输入 n 个数 b1,b2...bn,表示经过操作后的序列。

第 3∼m+2 行每一行输入 3 个数 k,x,y,分别表示操作类型,以及操作中的 x 和 y。

输出格式

一行,n 个整数 a1,a2...an,表示序列最初的样子。

输入输出样例

输入 

5 5
12 1 12 4 2
1 3 2
1 4 3
2 3 4
1 5 2
2 1 3

输出 

1 1 2 1 1

说明/提示

本题采用捆绑测试。

...(还有一些条件自己去洛谷看)

首先要知道的是,这是一道入门题,穷举加暴力即可.

但也有一点需要注意的地方.

特别且显然地,当 x=y,新的 x 就等于原来的 x 的两倍或平方。

OK啊,就说到这里,上AC代码

其实还有很多可以优化的地方但是我这个蒟蒻不配

#include<bits/stdc++.h>
using namespace std;
inline long long read(){
    long long x=0,f=1;
    char ch=getchar();
    while(ch<'0'||ch>'9'){
        if(ch=='-') f=-1;
        ch=getchar();
    }
    while(ch>='0'&&ch<='9'){
        x=x*10+ch-'0';
        ch=getchar();
    }
    return x*f;
}
inline void write(long long x){
	if(x<0){
	    putchar('-');
	    x=-x;
    }
	if(x>9)
		write(x/10);
    putchar(x%10+'0');
}
long long a[1001],k[201],x[201],y[201];
int main(){
	long long n=read(),m=read();
	for(int i=1;i<=n;i++) a[i]=read();
	for(int i=1;i<=m;i++){
		k[i]=read(),x[i]=read(),y[i]=read();
	}
	for(int i=m;i>=1;i--){
		if(k[i]==1){
			if(x[i]==y[i]) a[x[i]]/=2;
			else a[x[i]]-=a[y[i]];
		}
		if(k[i]==2){
			if(x[i]==y[i]) a[x[i]]=sqrt(a[x[i]]);
			else a[x[i]]/=a[y[i]];
		}
	}
	for(int i=1;i<=n;i++){
		write(a[i]);
		putchar(' ');
	}
	return 0;
}
/*
3 2
10 9 4
1 1 1
2 2 2
5 3 4
*/

There`s nothing to say.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值