FYZ111 @ 2024-01-05 20:47:08
1. #include<iostream>
2. #include<vector>
3. using namespace std;
4. int find(int x,vector<int> &ds){
5. if(ds[x]!=x){
6. ds[x]=find(ds[x],ds);
7. }
8. return ds[x];
8. }
9. int main(){
10. int z,t;
11. cin>>z>>t;
12. vector<int> ds(t+1);
13. for(int i=0;i<t;i++){
14. ds[i]=i;
15. }
16. for(int i=0;i<t;i++){
17. int n,x,y;
18. cin>>n>>x>>y;
19. if(n==1){
20. ds[find(x,ds)]=find(y,ds);
21. }else{
22. if(ds[find(x,ds)]==ds[find(y,ds)]){
24. cout<<"Y"<<endl;
25. }else{
26. cout<<"N"<<endl;
27. }
28. }
29. }
30. return 0;
31. }
这个代码把12行的z+1写成了t+1,而却AC了
by forever_nope @ 2024-01-05 21:18:10
是个好玩的 hack()
一般人不会出一个数据,操作数比序列长度短的。