思路

其实主要也就是 zoj 中间和两边 o 的个数的规律,标记为 left, middle, rigt

  • left = right,middle = 1,可以 AC
  • 由上面可以知道 nzojn (n 表示 n 个 'o') 是可以 AC 的,n ≥ 0,那么 nz 2 j (2n) 也是可以 AC 的,同样的可以知道 nz 3 j (3n) 也是可以 AC 的,以此类推,nz m j mn 是可以 AC 的,那我们就得到规律了,middle = right/left
#include<iostream>

using namespace std;

int main(){
    string s;
    while(cin >> s){
        int left = 0, middle = 0, right = 0;
        int n = s.size();
        int pos1 = s.find('z'), pos2 = s.find('j');
        for(int i = 0; i < pos1; i ++)
            left ++;
        for(int i = pos1 + 1; i < pos2; i ++)
            middle ++;
        for(int i = pos2 + 1; i < n; i ++)
            right ++;
        if(left == right && middle >= 1) cout << "Accepted" << endl;
        else if(left > 0 && right > 0 && right % left == 0 && middle == right/left)
            cout << "Accepted" << endl;
        else cout << "Wrong Answer" << endl;
    }
    return 0;
}