Cuộc thi OLP Tin học cấp Trường năm 2022 vòng thi thứ nhất


Problems

Problem Points AC Rate Users Editorials
0.Tính giai thừa 1p 60.5% 1230 Editorial
0.Tọa độ của một điểm 1p 43.3% 973
5.Cột trong Mảng 1p 31.7% 381
Hóa đơn 1p 71.5% 257
Tìm các số nguyên tố 1p 34.0% 266
Trượt môn 2p 29.7% 242
Nobita học code 2 18.5% 47
Chia nhóm đồ án 2p 2.2% 3
Tổng bình phương 2 11.4% 3
Liên hoan 3 24.9% 57
Bộ 3 số tổng bằng 0 3p 2.4% 9
Chuyến bay Covid đặc biệt 3p 2.8% 4

Comments


  • 0
    CThành_CNTT6_K61  commented on Oct. 4, 2022, 4:46 a.m. edited

    Bài Tổng bình phương mọi người in ra dưới dạng Test Case#1: KQ thì mới AC nhé. Output của bài này có chút sai sót xin lỗi mọi người.


  • 1
    jjiangly  commented on Oct. 2, 2022, 3:14 p.m.

    Cho em xin sol bài 9, 10, 11 với ạ


    • 2
      ZeroCoder  commented on Oct. 3, 2022, 4:09 a.m.

      Còn bài 10 thì nó là đồ thị có hướng , mình cứ DFS như bình thường , mỗi lần DFS thì mỗi đỉnh mà các bạn thí sinh đang đứng , DFS xong thì đỉnh nào xuất hiện k lần , tức tất cả các bạn đều đến được thì đấy là điểm họp mặt


      • 0
        jjiangly  commented on Oct. 3, 2022, 4:17 a.m.

        Em cũng cài DFS, nhma nó bị TLE mất tiêu.


        • 0
          None  commented on Oct. 3, 2022, 8:29 a.m.
          #include<bits/stdc++.h>
          using namespace std;
          unordered_map<int,unordered_map<int,int>>check;
          unordered_map<int,int>dr;
          unordered_map<int,vector<int>>mp;
          void dfs(int x,int i)
          {
              if(dr.find(x) != dr.end()) return;
              check[i][x] = 1;
              dr[x] = 1;
              for(auto k : mp[x])
              {
                  dfs(k,i);
              }
          }
          int main()
          {
              ios_base::sync_with_stdio(false);
              cin.tie(0);
              cout.tie(0);
              int k,n,m;
              cin >> k >> n >> m;
              vector<int>v(k);
              for(auto &x : v) cin >> x;
          
              for(int i = 1; i <= m; i++)
              {
                  int u,v;
                  cin >> u >> v;
                  mp[u].push_back(v);
              }
              for(auto x : v)
              {
                  dr.clear();
                  dfs(x,x);
              }
              int res = 0;
              for(int i = 1; i <= n; i++)
              {
                  bool isValid = true;
                  for(auto x : v)
                  {
                      if(check[x].find(i) == check[x].end())
                      {
                          isValid = false;
                          break;
          
                      }
                  }
                  if(isValid ) res++;
              }
              cout << res;
          
          
          
          
          }

          Bạn tham khảo bài của mình nhé


        • 0
          nqson  commented on Oct. 3, 2022, 5:20 a.m.

          em dùng biến toàn cục thay cho biến cục bộ có thẻ sẽ nhanh hơn đấy, bài này 0.1s nên tle ảo lắm


    • 2
      nqson  commented on Oct. 3, 2022, 3:38 a.m.

      bài 11 bị lỗi eof ở test 1,3,4. bạn dùng thử eof để xác định lại n bt đâu AC bài đấy


      • 0
        jjiangly  commented on Oct. 3, 2022, 4:15 a.m.

        Ui, test sai vậy có unrate không vậy anh, rate thì hơi bất công quá ạ.


      • 2
        ZeroCoder  commented on Oct. 3, 2022, 4:12 a.m.

        đúng rồi , bài này để để lại nhập theo kiểu đọc hết file thì AC , ae dùng while(cin >> x) trong C++ cũng đc