顺序表应用3:元素位置互换之移位算法
作者:互联网
题目链接:https://acm.sdut.edu.cn/onlinejudge3/problems/3326
有点迷了,1e6在编译器上是过不了的,完全是溢出栈的,做的我有点懵,我觉的做题策略还是应该在杭电上;
这道题我感觉卡的也不是很严,我这个算法设计已经远远超出题目的空间复杂度(1)了;
无可厚非,我用了两个数组存的,最常见也是最笨的交换顺序的方法,(我还没有用STL)呢;
最后肯定是A了,但是题目我还是做的挺迷的,搞不明白这都能过????,我原本就是奔着不过的想法去的,
结果却超出我的预期;
还是老老实实刷hduoj吧;
Talk is cheap. Show me the code.
1 #include<bits/stdc++.h>//这个没有很大的技巧,就是常见的先存什么在存什么的存法 2 using namespace std; 3 const int num=1e6+10; 4 int n; 5 int main() 6 { 7 std::ios::sync_with_stdio(false); 8 cin.tie(0); 9 cout.tie(0); 10 cin>>n; 11 int len,m; 12 int a[num]; 13 int b[num]; 14 int j; 15 while(n--) 16 { 17 memset(a,0,sizeof(a)); 18 memset(b,0,sizeof(b)); 19 cin>>len>>m; 20 for(register int i=0;i<len;i++) 21 cin>>a[i]; 22 for(register int i=m;i<len;i++) 23 { 24 b[j]=a[i]; 25 j++; 26 } 27 for(register int i=0;i<m;i++) 28 { 29 b[j]=a[i]; 30 j++; 31 } 32 for(register int i=0;i<len;i++) 33 cout<<b[i]<<' '; 34 cout<<endl; 35 } 36 return 0; 37 38 }
标签:题目,int,memset,cin,算法,num,互换,sizeof,移位 来源: https://www.cnblogs.com/LQS-blog/p/16225917.html