搜狐第一题40%,我是这个原因!
很多人都说是因为a[0]=1的情况,可能写的不太一样。
我这个应该是没有考虑a[0] = a[m-1]的情况。我的程序如下:
# include <iostream>
using namespace std;
int main()
{
int n, m;
cin >> n >> m;
cin.get();
int *a = new int[m];
int *b = new int[n];
for(int i=0; i<m; i++)
cin >> a[i];
cin.get();
int p = 0, q = 0; //p快,q慢
b[0] = a[0];
for(int i=0; i<n;)
{
for(int j = 0; j<b[q]; j++)
{
if(i<n)
b[i++] = a[p];
}
if(p==m-1)
p = 0;
else
p++;
q++;
}
for(int i = 0;i<n; i++)
cout << b[i] <<endl;
delete [] a;
delete [] b;
cin.get();
}