1. 程式人生 > 其它 >圓桌問題 hdu-4841 C++

圓桌問題 hdu-4841 C++

技術標籤:HDU演算法c++

題目連結

在這裡插入圖片描述

#include<iostream>
#include<vector>
using namespace std;
int main()
{
    int n,m;
    int a[33000];
    vector<int> v;
    while (cin>>n>>m)
    {
        v.clear();//清空初始化
        int temp = 0;
        memset(a, 0, sizeof(a));//每次初始化
        for (int i =
0; i < 2*n; i++) { v.push_back(i); } while (v.size()>n) { temp = (temp + m - 1) % v.size(); a[v[temp]] = 1;//標記壞人的位置 v.erase(v.begin() + temp);//移除壞人位置 } for (int i = 0; i < 2*n; i++) { if
(a[i]) cout << "B"; else cout << "G"; if ((i+1)%50==0)//50個字母為一行 { cout << endl; } } cout << endl<<endl; } return 0; }