约瑟夫问题不用链表怎么写??

约瑟夫不用链表,用数组怎么写,急急急急急急及急急急急急急,大神快来呀!!!!!!!!!!

http://www.cnblogs.com/michael110/archive/2011/03/25/1995715.html

Google 一下关键字:“约瑟夫问题不用链表”你可以得到很多答案的哦

#include<iostream>
#include<vector>
using namespace std;
int main()
{
    vector<int>a;
    int n,m;
    cin>>n>>m;
    for(int i=1;i<=n;i++) a.push_back(i);
    int p = 0;
    while(a.empty()==0)
    {
        p = (p + m - 1)% a.size();
        cout << a[p]<<" ";
        a.erase(a.begin()+p);
    }
    cout<<"YES!";
}