Hatena::Grouptopcoder

yakk512の日記

 | 

2014-07-21

SRM#621Div2

21:11

Easy

 概要

  単語の列が与えられる.

  その単語の列が文字の数を基準にソートされているのか,辞書順にソートされているのかを答える.

 解法的な

  与えられた列をコピーして,ソート.このソート済みの列と比較して辞書順かどうかチェック

  列の初めから文字数をチェックしていく

 コード

class TwoWaysSorting {
   public:
   string sortingMethod(vector <string> stringList)
  {

    bool LexFlg = true;
    bool LenFlg = true;

    vector <string> SortedLexStList(stringList.size());
    for(int i = 0; i < stringList.size(); i++)
      {
	SortedLexStList[i] = stringList[i];
      }

    sort( SortedLexStList.begin() , SortedLexStList.end() );

    for(int i = 0; i < stringList.size(); i++)
      {
	if(stringList[i] != SortedLexStList[i])
	  {
	    LexFlg = false;
	  }
      }

    for(int i = 1; i < stringList.size(); i++)
      {
	if(stringList[i-1].size() > stringList[i].size())
	  {
	    LenFlg = false;
	  }
      }

    if(LexFlg && LenFlg) 
      {
	return "both";
      }
    else if(LexFlg)
      {
	return "lexicographically";
      }
    else if(LenFlg)
      {
	return "lengths";
      }
    else
      {
	return "none";
      }

  }
 };
 |