CodeForces - 767A
这个题其实仔细想想就会发现并不难做,只要把每个出现过的数据标记一下就可以了。
用结构体和两个数组都比较好处理。
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using namespace std; 5 6 struct S//方便标记 7 { 8 int a; 9 int id; 10 }s[100010]; 11 12 int main() 13 { 14 int n; 15 while(scanf("%d",&n)!=EOF) 16 { 17 for(int i=1;i<=n;i++)//手动清零 18 s[i].id=0; 19 int x=n; 20 for(int i=1;i<=n;i++) 21 { 22 cin>>s[i].a; 23 s[s[i].a].id=1;//标记 24 int j; 25 for(j=x;s[j].id==1;j--)//从大到小输出没被标记的 26 cout<<j<<" "; 27 x=j; 28 cout<<endl; 29 } 30 } 31 return 0; 32 }
浙公网安备 33010602011771号