fork download
  1. #include <cstdio>
  2.  
  3. #define MOD 1000000007
  4.  
  5. int parent[2009];
  6. int num[2009];
  7.  
  8. int root(int v) {
  9. if(v==parent[v])
  10. return v;
  11. return parent[v]=root(parent[v]);
  12. }
  13.  
  14. void join(int u, int v) {
  15. u=root(u); v=root(v);
  16. if(u<v)
  17. parent[u]=v;
  18. if(u>v)
  19. parent[v]=u;
  20. }
  21.  
  22. int main() {
  23. int t;
  24. scanf("%d", &t);
  25. while(t--) {
  26. int n, m;
  27. long long int ans=1;
  28. scanf("%d %d", &n, &m);
  29. for(int i=0; i<n; i++) {
  30. parent[i]=i;
  31. num[i]=0;
  32. }
  33. for(int i=0; i<m; i++) {
  34. int l, r;
  35. scanf("%d %d", &l, &r);
  36. l--; r--;
  37. while(l<r) {
  38. join(l, r);
  39. l++;
  40. r--;
  41. }
  42. }
  43. for(int i=0; i<n; i++) {
  44. parent[i]=root(i);
  45. if(i==parent[i]) {
  46. ans*=26;
  47. ans%=MOD;
  48. }
  49. }
  50. printf("%lld\n", ans);
  51. }
  52.  
  53. return 0;
  54. }
Success #stdin #stdout 0s 3480KB
stdin
1
5 2
1 5
2 5
stdout
26