Submission #52623038
Source Code Expand
#include<bits/stdc++.h>
#define int long long
#define rep(i,a,b) for(int i(a);i<=(b);++i)
#define req(i,a,b) for(int i(a);i>=(b);--i)
using namespace std;
char buf[1<<23],*p1=buf,*p2=buf,ubuf[1<<23],*u=ubuf;
#define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++)
constexpr int BIT=((int)(sizeof(int))<<3)-1;
inline int Abs(int x)
{
int t=x>>BIT;
return (x+t)^t;
}
inline int Min(int x,int y)
{
int diff=y-x;
return x+(diff&(diff>>BIT));
}
inline int Max(int x,int y)
{
int diff=x-y;
return x-(diff&(diff>>BIT));
}
inline void Swap(int &x,int &y)
{
x^=y^=x^=y;
}
inline float Sqrt(float x)
{
if(x<0) fprintf(stderr,"float Sqrt(float x): Error x<0\n"),assert(0);
int i;
float x2,y;
constexpr float threehalfs=1.5;
x2=x*0.5;
y=x;
i=*(int*)&y;
i=0x5f3759df-(i>>1);
y=*(float*)&i;
y=y*(threehalfs-(x2*y*y));
y=y*(threehalfs-(x2*y*y));
return 1.0/y;
}
template<typename TP> inline TP read(TP &num)
{
TP x=0;
int f=0;
char ch=getchar();
while(ch<48||ch>57) f|=ch=='-',ch=getchar();
while(48<=ch&&ch<=57) x=(x<<1)+(x<<3)+(ch^48),ch=getchar();
return num=f?-x:x;
}
template<typename ...Args> inline void read(Args &...args)
{
(read(args),...);
}
template<typename TP> inline void write(TP x)
{
(x<0)?(putchar('-'),x=-x):0;
(x>9)?(write(x/10),0):0;
putchar((x%10)^48);
}
template<typename TP> inline void writeln(TP x)
{
write<TP>(x);
puts("");
}
int n,q,opt,x,y,lst;
vector<int> g[100001];
bitset<100001> vis;
signed main()
{
read(n,q);
while(q--)
{
read(opt,x,y);
opt=1+(((opt*(1+lst))%998244353)%2);
x=1+(((x*(1+lst))%998244353)%n);
y=1+(((y*(1+lst))%998244353)%n);
if(opt==1) g[x].emplace_back(y),g[y].emplace_back(x);
else
{
int found=0;
vis.reset();
for(auto i:g[x]) vis.set(i);
for(auto i:g[y]) if(vis.test(i))
{
writeln(i);
lst=i;
found=1;
break;
}
if(!found) puts("0"),lst=0;
}
}
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | G - Mediator |
| User | nrO728 |
| Language | C++ 23 (gcc 12.2) |
| Score | 600 |
| Code Size | 2003 Byte |
| Status | AC |
| Exec Time | 1356 ms |
| Memory | 11744 KiB |
Compile Error
Main.cpp: In function ‘float Sqrt(float)’:
Main.cpp:36:12: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
36 | i=*(int*)&y;
| ^~~~~~~~
Main.cpp:38:12: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
38 | y=*(float*)&i;
| ^~~~~~~~~~
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 600 / 600 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt |
| All | sample_01.txt, sample_02.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt, test_56.txt, test_57.txt, test_58.txt, test_59.txt, test_60.txt, test_61.txt, test_62.txt, test_63.txt, test_64.txt, test_65.txt, test_66.txt, test_67.txt, test_68.txt, test_69.txt, test_70.txt, test_71.txt, test_72.txt, test_73.txt, test_74.txt, test_75.txt, test_76.txt, test_77.txt, test_78.txt, test_79.txt, test_80.txt, test_81.txt, test_82.txt, test_83.txt, test_84.txt, test_85.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample_01.txt | AC | 1 ms | 3540 KiB |
| sample_02.txt | AC | 1 ms | 3560 KiB |
| test_01.txt | AC | 1 ms | 3492 KiB |
| test_02.txt | AC | 1 ms | 3552 KiB |
| test_03.txt | AC | 1 ms | 3536 KiB |
| test_04.txt | AC | 18 ms | 8340 KiB |
| test_05.txt | AC | 17 ms | 11744 KiB |
| test_06.txt | AC | 18 ms | 8312 KiB |
| test_07.txt | AC | 18 ms | 11288 KiB |
| test_08.txt | AC | 16 ms | 6292 KiB |
| test_09.txt | AC | 17 ms | 8080 KiB |
| test_10.txt | AC | 17 ms | 11284 KiB |
| test_11.txt | AC | 17 ms | 8560 KiB |
| test_12.txt | AC | 16 ms | 6476 KiB |
| test_13.txt | AC | 18 ms | 10428 KiB |
| test_14.txt | AC | 18 ms | 8504 KiB |
| test_15.txt | AC | 17 ms | 11704 KiB |
| test_16.txt | AC | 17 ms | 8548 KiB |
| test_17.txt | AC | 18 ms | 8956 KiB |
| test_18.txt | AC | 17 ms | 6656 KiB |
| test_19.txt | AC | 17 ms | 6888 KiB |
| test_20.txt | AC | 17 ms | 8380 KiB |
| test_21.txt | AC | 18 ms | 8616 KiB |
| test_22.txt | AC | 16 ms | 7920 KiB |
| test_23.txt | AC | 17 ms | 11384 KiB |
| test_24.txt | AC | 18 ms | 7224 KiB |
| test_25.txt | AC | 17 ms | 8388 KiB |
| test_26.txt | AC | 16 ms | 9100 KiB |
| test_27.txt | AC | 18 ms | 8028 KiB |
| test_28.txt | AC | 16 ms | 6708 KiB |
| test_29.txt | AC | 16 ms | 10340 KiB |
| test_30.txt | AC | 17 ms | 10320 KiB |
| test_31.txt | AC | 16 ms | 9920 KiB |
| test_32.txt | AC | 16 ms | 9056 KiB |
| test_33.txt | AC | 17 ms | 7160 KiB |
| test_34.txt | AC | 14 ms | 11196 KiB |
| test_35.txt | AC | 15 ms | 9156 KiB |
| test_36.txt | AC | 17 ms | 8864 KiB |
| test_37.txt | AC | 18 ms | 7832 KiB |
| test_38.txt | AC | 16 ms | 6864 KiB |
| test_39.txt | AC | 15 ms | 6136 KiB |
| test_40.txt | AC | 1356 ms | 9928 KiB |
| test_41.txt | AC | 675 ms | 10168 KiB |
| test_42.txt | AC | 752 ms | 9936 KiB |
| test_43.txt | AC | 447 ms | 9964 KiB |
| test_44.txt | AC | 572 ms | 10088 KiB |
| test_45.txt | AC | 317 ms | 10068 KiB |
| test_46.txt | AC | 466 ms | 10060 KiB |
| test_47.txt | AC | 270 ms | 9988 KiB |
| test_48.txt | AC | 402 ms | 10004 KiB |
| test_49.txt | AC | 229 ms | 10044 KiB |
| test_50.txt | AC | 259 ms | 10364 KiB |
| test_51.txt | AC | 151 ms | 10380 KiB |
| test_52.txt | AC | 42 ms | 10508 KiB |
| test_53.txt | AC | 29 ms | 10424 KiB |
| test_54.txt | AC | 28 ms | 10632 KiB |
| test_55.txt | AC | 22 ms | 10648 KiB |
| test_56.txt | AC | 15 ms | 11208 KiB |
| test_57.txt | AC | 14 ms | 11008 KiB |
| test_58.txt | AC | 14 ms | 11032 KiB |
| test_59.txt | AC | 14 ms | 11072 KiB |
| test_60.txt | AC | 896 ms | 8440 KiB |
| test_61.txt | AC | 810 ms | 9712 KiB |
| test_62.txt | AC | 685 ms | 9964 KiB |
| test_63.txt | AC | 583 ms | 10236 KiB |
| test_64.txt | AC | 906 ms | 8604 KiB |
| test_65.txt | AC | 809 ms | 9676 KiB |
| test_66.txt | AC | 686 ms | 10068 KiB |
| test_67.txt | AC | 580 ms | 10336 KiB |
| test_68.txt | AC | 17 ms | 11124 KiB |
| test_69.txt | AC | 17 ms | 11024 KiB |
| test_70.txt | AC | 16 ms | 11072 KiB |
| test_71.txt | AC | 16 ms | 11212 KiB |
| test_72.txt | AC | 15 ms | 8288 KiB |
| test_73.txt | AC | 14 ms | 9204 KiB |
| test_74.txt | AC | 14 ms | 9592 KiB |
| test_75.txt | AC | 14 ms | 9996 KiB |
| test_76.txt | AC | 13 ms | 5716 KiB |
| test_77.txt | AC | 13 ms | 5684 KiB |
| test_78.txt | AC | 12 ms | 5516 KiB |
| test_79.txt | AC | 12 ms | 5568 KiB |
| test_80.txt | AC | 14 ms | 5568 KiB |
| test_81.txt | AC | 13 ms | 5588 KiB |
| test_82.txt | AC | 13 ms | 5748 KiB |
| test_83.txt | AC | 12 ms | 5528 KiB |
| test_84.txt | AC | 12 ms | 5528 KiB |
| test_85.txt | AC | 14 ms | 5588 KiB |