Advertisement
TrickmanOff

Checker informatics №934

Aug 10th, 2019
278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.30 KB | None | 0 0
  1. /*
  2. checker
  3. */
  4. vector<int> right_ans;
  5.  
  6. void rand_gen() {
  7.     n = rand() % 5 + 1;
  8.     H = rand() % 10 + 1;
  9.     W = rand() % 10 + 1;
  10.    
  11.     right_ans = vector<int> ();
  12.     my_ans = vector<int> ();
  13.    
  14.     lines = vector<line>();
  15.    
  16.     cur_h = 1;
  17.     sz = 0;
  18.     fill(tree, tree+TREE_SZ, INF);
  19.     queries = vector<int> (n);
  20.    
  21.     for(int i = 0; i < n; i++)
  22.         queries[i] = rand() % 10 + 1;
  23. }
  24.  
  25. void solve() {
  26.     vector<int> sheet(H, W);
  27.     for(int i = 0; i < n; i++) {
  28.         int cur_w = queries[i];
  29.        
  30.         int ans = -1;
  31.         for(int j = 0; j < H; j++) {
  32.             if(sheet[j] >= cur_w) {
  33.                 sheet[j] -= cur_w;
  34.                 ans = j+1;
  35.                 break;
  36.             }
  37.         }
  38.        
  39.         right_ans.push_back(ans);
  40.     }
  41. }
  42.  
  43. void print_cond () {
  44.     cout << H << ' ' << W << ' ' << n << '\n';
  45.     for(int x: queries)
  46.         cout << x << '\n';
  47. }
  48.  
  49. int main()
  50. {
  51.     int k = 1000;
  52.     srand(time(0));
  53.     while(k--) {
  54.         rand_gen();
  55.         solve();
  56.         gen();
  57.        
  58.         //print_cond();
  59.         if(k % 100 == 0)
  60.             cout << '-';
  61.         if(my_ans != right_ans) {
  62.             cout << "\nBAD\n";
  63.             print_cond();
  64.             exit(0);
  65.         }
  66.     }
  67.     //input();
  68.     //gen();
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement