#include<stdio.h>
#include <math.h>
struct zuo {
int X;
int Y;
int Z;
} str[2000];
void one() {
int n,m,i,a,b,c;
scanf ("%d %d",&n,&m);
scanf ("%d %d %d",&a,&b,&c);
for (i=n; i<=m; i++) {
str[i].X+=a;
str[i].Y+=b;
str[i].Z+=c;
}
}
void two() {
int n,m,i,a,b,c;
scanf ("%d %d",&n,&m);
scanf ("%d",&a);
for (i=n; i<=m; i++) {
str[i].X*=a;
str[i].Y*=a;
str[i].Z*=a;
}
}
void three() {
int n,m,i,temp;
scanf ("%d %d",&n,&m);
for (i=n; i<=m; i++) {
temp=str[i].X;
str[i].X=str[i].Y;
str[i].Y=str[i].Z;
str[i].Z=temp;
/*str[i].X=0;
str[i].Y=0;
str[i].Z=0;*/
}
}
/*int four(int sum[10]) {
int n,m,i,a=0,b=0,c=0;
int sum;
scanf ("%d %d",&n,&m);
for (i=n; i<=m; i++) {
a=str[i].X+a;
b=str[i].Y+b;
c=str[i].Z+c;
}
sum=a*a+b*b+c*c;
return sum;
}*/
int main() {
int n,m,a,b,c,d,i,l,k;
int z=0,u=0,f=0,v=0,g,h,r,o;
int sum[2000];
for (i=0; i<2000; i++) {
str[i].X=0;
str[i].Y=0;
str[i].Z=0;
}
scanf("%d %d",&n,&m);//n为几个飞船,m为几个操作
for (i=0; i<m; i++) {
scanf("%d",&a);
if (a==1) one();
if (a==2) two();
if (a==3) three();
if (a==4) {
//four(sum);
//printf ("%d\n",sum);
//int z=0,k=0,l=0,v=0;
scanf ("%d %d",&g,&h);
for (o=g; o<=h; o++) {
u=str[o].X+u;
f=str[o].Y+f;
v=str[o].Z+v;
}
z++;
sum[z]=u*u+f*f+v*v;
r=z;
u=0,f=0,v=0;
}
}
for (z=1; z<=r; z++)
printf ("%d ",sum[z]);
return 0;
}
星际航行
最新推荐文章于 2024-06-17 23:44:02 发布