SRM511 Div2 Easy(250) GameOfLifeDivTwo

GameOfLifeDivTwo

#include <string>
using namespace std;

class GameOfLifeDivTwo{public:
string theSimulation( string init, int T )
{
    int n = (int)init.size();

    string C = init;
    for ( int i=0; i<T; i++ )
    {
        string P = C;
        for ( int j=0; j<n; j++ )
        {
            int c = 0;
            for ( int k=-1; k<=1; k++ )
                c += P[(j+k+n)%n]-'0';
            C[j] = c>=2 ? '1' : '0';
        }
    }

    return C;
}};