#25104: C++ 記憶體區段錯誤


asddf610419@gmail.com (李小爆)

學校 : 不指定學校
編號 : 145232
來源 : [140.114.223.26]
最後登入時間 :
2021-05-07 21:11:37
a224. 明明愛明明 | From: [140.114.223.26] | 發表日期 : 2021-04-22 12:41

#include <iostream>

#include <cstdlib>

#include<vector>

#include<algorithm>

using namespace std;

 

int main()

{

    string input;

    vector<int> vec;

    vector<int> t;

    bool even;

    int counter,odd;

    while(cin>>input)

    {

        for(int i=0;i<input.length();i++)

        {

            if((input[i]>=97&&input[i]<=122)||(input[i]>=65&&input[i]<=90))

            {

                vec.push_back((int)(tolower(input[i])));

            }

        }

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

        if(vec.size()%2!=0)

        {

            odd=0;

            counter=1;

            for(int i=0;i<vec.size()-1;i++)

            {

                if(vec[i]-vec[i+1]==0)

                {

                    counter++;

                }

                else

                {

                    t.push_back(counter);

                    counter=1;

                }

            }

            if(vec[vec.size()-2]!=vec[vec.size()-1])

                t.push_back(1);

            for(int i=0;i<t.size();i++)

            {

                if(t[i]%2!=0)

                    odd++;

            }

            if(odd==1)

                cout<<"yes !\n";

            else

                cout<<"no...\n";

        }

        else

        {

            even=true;

            counter=1;

            for(int i=0;i<vec.size()-1;i++)

            {

                if(vec[i]==vec[i+1])

                {

                    counter++;

                }

                else

                {

                    t.push_back(counter);

                    counter=1;

                }

            }

            for(int i=0;i<t.size();i++)

            {

                if(t[i]%2!=0)

                    even=false;

            }

            if(even)

                cout<<"yes !\n";

            else

                cout<<"no...\n";

        }

        vec.clear();

        t.clear();

    }

    return 0;

}

 
ZeroJudge Forum