#10693. 模拟策略第十题(NOIP2014)

模拟策略第十题(NOIP2014)

第十题(NOIP2014)

#include<iostream>
using namespace std;
const int SIZE=100;
int alive[SIZE];
int n;

int next(int num) {
    do {
        num++;
        if(num>n) num=1;
    } while(alive[num]==0);
    return num;
}

int main() {
    int m, i, j, num;
    cin>>n>>m;
    for(i=1;i<=n;i++)
        alive[i]=1;
    num=1;
    for(i=1;i<=n;i++) {
        for(j=1;j<m;j++)
            num=next(num);
        cout<<num<<" ";
        alive[num]=0;
        if(i<n) num=next(num);
    }
    cout<<endl;
    return 0;
}
  1. 【判断题】若输入1000,该程序会运行错误。 {{ select(1) }}
  • 正确
  • 错误
  1. 【判断题】若把17行去掉,程序结果不会发生改变。 {{ select(2) }}
  • 正确
  • 错误
  1. 【判断题】如果把24行的"<"改为"<=",则程序结果发生改变。 {{ select(3) }}
  • 正确
  • 错误
  1. 【判断题】若输入11.3,则输出3 6 9 1 5 10 4 11 8 2 7。 {{ select(4) }}
  • 正确
  • 错误
  1. 【选择题】该程序的最坏时间复杂度为( )。 {{ select(5) }}
  • O(1)
  • O(n)
  • O(n * m)
  • O(2^n)
  1. 【选择题】若输入为10.4,则第4个数为( )。 {{ select(6) }}
  • 5
  • 6
  • 7
  • 8