A: 枚举被分成几块。当分成i块确定时,就可以O(1)求出此时答案。 比如正分有i块,负分就有i+1块, 正分就分成I-1个是1 剩下的都放一个里面;负分的则尽量放平均 [cpp] view plain copy print ? int main() { LL n, m; while(scanf("%I64d%I64d", &n, &m) != EOF){ if(m==0){ printf("%I64d\n", n*n); for(int i = 0; i < n; ++i) putchar('o'); } else if(m==1){ printf("%I64d\n", n*n - 1); putchar('x'); for(int i = 0; i < n; ++i) putchar('o'); }