D. Rudolf and the Ball Game | Codeforces Round 933 | Explanation + Code (C++)

Поделиться
HTML-код
  • Опубликовано: 27 окт 2024
  • Probelm Link: codeforces.com...
    Time Codes:

Комментарии • 3

  • @rishabhxchoudhary
    @rishabhxchoudhary  7 месяцев назад

    #include
    using namespace std;
    #define int long long int
    #define double long double
    #define endl '
    '
    const int MOD = 1000000007;
    void solve(){
    int n,m,x;
    cin>>n>>m>>x;
    vectorvis(n+1,0);
    vis[x-1] = 1;
    while(m--) {
    int d; cin>>d;
    char c; cin>>c;
    if (c=='?') {
    vectorq;
    for (int i = 0; i < n; i++) {
    if (vis[i]) {
    q.push_back(i);
    vis[i] = 0;
    }
    }
    for(int i: q){
    vis[(i+d)%n] = 1; // clockwise
    vis[((i-d)%n + n)%n] = 1; // counter clickwise
    }
    } else if (c=='0') {
    vectorq;
    for (int i = 0; i < n; i++) {
    if (vis[i]) {
    q.push_back(i);
    vis[i] = 0;
    }
    }
    for(int i: q){
    vis[(i+d)%n] = 1;
    }
    } else {
    vectorq;
    for (int i = 0; i < n; i++) {
    if (vis[i]) {
    q.push_back(i);
    vis[i] = 0;
    }
    }
    for(int i: q){
    vis[((i-d)%n + n)%n] = 1;
    }
    }
    }
    int ans = 0;
    for (int i = 0; i < n+1; i++) {
    ans += (vis[i]==1);
    }
    cout

  • @ronakkriplani1838
    @ronakkriplani1838 7 месяцев назад

    Thanks sir❤❤