今天12:30和两位队友zs和sx一起打的赛码网络赛,这个水题zs和sx扔给我看看,可惜我和zs描述的不清楚,以至于让他想麻烦了,再加上我代码有点弱小。。。呵斥了我一下,当时改好zs的代码,我就不敢提交了。。。今晚看着可以提交了,就提交了,1a了,瞬间对不起zs和sx。。。必须狠下功夫提高代码能力,到区域赛上能为他们扫平弱题。
具体题意,就不详细说了,借这个题反省自己,具体代码如下。
#include <iostream>
#include <cmath>
#include <cstring>
#include <cstdio>
#include <map>
using namespace std;
#define rep(i,n) for(int i=0;i<n;i++)
#define rep1(i,x,y) for(int i=x;i<=y;i++)
const int N = 1111;
int a[N];
int vis[N][N];
int gcd(int a,int b)
{
return b==0 ? a:gcd(b,a%b);
}
int n,Q;
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
scanf("%d %d",&n,&Q);
rep(i,1011) a[i]=1;
memset(vis,0,sizeof(vis));
int flag = 1;
while(Q--)
{
int x,y,z;
scanf("%d %d %d",&x,&y,&z);
if(flag)
{
if(vis[x][y])
{
if(vis[x][y]!=z)
{
flag =0;
}
}
else
{
vis[x][y]=z;
for(int i=x; i<=y; i++)
{
if(gcd(a[i],z)==1)
a[i]=a[i]*z;
else
a[i]=a[i]/(gcd(a[i],z))*z;
}
}
}
}
if(!flag) printf("Stupid BrotherK!\n");
else
{
rep1(i,1,n)
{
if(i!=1) printf(" ");
printf("%d",a[i]);
}
printf("\n");
}
}
return 0;
}