记录编号 |
321380 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[Nescafé II] 防线 |
最终得分 |
100 |
用户昵称 |
NewBee |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
1.152 s |
提交时间 |
2016-10-13 18:28:58 |
内存使用 |
11.73 MiB |
显示代码纯文本
#include<cstdio>
#include<stack>
#include<cstring>
#define Cu fclose(stdin);fclose(stdout);return 0;
#define Begin freopen("defline.in","r",stdin);freopen("defline.out","w",stdout);chul();Cu;
using namespace std;
const int maxn=1000010;
struct op{
int l,r,d;
}r[maxn];
void mem(){
memset(r,0,sizeof(r));
}
void clean(){
mem();
int m,x,y,l,re,d,cnt=0;
scanf("%d",&m);
for(int i=1;i<=m;i++){
scanf("%d%d%d",&l,&re,&d);
if(l<=re){
r[++cnt].l=l;
r[cnt].r=re;
r[cnt].d=d;
}
}
y=x=r[1].l;
while(y+r[1].d<=r[1].r){
y+=r[1].d;
x=x^y;
}
for(int i=2;i<=cnt;i++){
y=r[i].l;
while(y<=r[i].r){
x=x^y;
y+=r[i].d;
}
}
if(x==0){
printf("There's no weakness.\n");
return;
}
int cet=0;
for(int i=1;i<=cnt;i++){
if(r[i].l>x)continue;
if(r[i].r<x)continue;
if((x%r[i].d)!=(r[i].l%r[i].d)){
continue;
}
cet++;
}
printf("%d %d\n",x,cet);
}
void chul(){
int t;
scanf("%d",&t);
while(t--)clean();
}
int main(){
Begin;
}