POJ1007就是一道排序题,因为我的编程能力比较菜,所以全部都采用选择法排序。原以为由于选择法排序的低效导致超时,结果没想到通过了。废话就不多说了,现在贴出C++源代码:

 

ContractedBlock.gif ExpandedBlockStart.gif Code
None.gif#include <iostream>
None.gif
using namespace std;
None.gif
#define MAXN 50
None.gif
#define MAXM 100
None.gif
None.gif
int main()
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif    
int n,m,StringNum[MAXM]=dot.gif{0},temp;
InBlock.gif    cin 
>> n >> m;
InBlock.gif    
char String[MAXM][MAXN],tempString[MAXN];
InBlock.gif    
for(int m1=0;m1<m;m1++)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
for(int n1=0;n1<n;n1++)
InBlock.gif            cin 
>> String[m1][n1];
InBlock.gif        
for(int n2=0;n2<n-1;n2++)
InBlock.gif            
for(int m2=n2+1;m2<n;m2++)
InBlock.gif                
if(String[m1][n2]>String[m1][m2])
InBlock.gif                    StringNum[m1]
++;
ExpandedSubBlockEnd.gif    }

InBlock.gif    
for(int m3=0;m3<m-1;m3++)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
for(int m4=m3+1;m4<m;m4++)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
if(StringNum[m3]>StringNum[m4])
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
for(int n3=0;n3<n;n3++)
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    tempString[n3]
=String[m3][n3];
InBlock.gif                    String[m3][n3]
=String[m4][n3];
InBlock.gif                    String[m4][n3]
=tempString[n3];
ExpandedSubBlockEnd.gif                }

InBlock.gif                temp
=StringNum[m3];
InBlock.gif                StringNum[m3]
=StringNum[m4];
InBlock.gif                StringNum[m4]
=temp;
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif    }

InBlock.gif    
//cout << endl;   这个地方是我最开始的时候为了方便和网页上的结果比对添加的,所以在提交时显示Presentation Error,当时就愣住了,最后觉得可能是此处不符合要求,删了之后就AC了
InBlock.gif
    for(int m7=0;m7<m;m7++)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
for(int n7=0;n7<n;n7++)
InBlock.gif            cout 
<< String[m7][n7];
InBlock.gif        cout 
<< endl;
ExpandedSubBlockEnd.gif    }

InBlock.gif    
return 0;
ExpandedBlockEnd.gif}

   说明:程序中的m1、m2和n1、n2等都是为了进行排序所定义的变量。
   最后结果:内存264K,时间16MS。

 

转载于:https://www.cnblogs.com/Derek_nr/archive/2008/09/30/1302430.html

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐