CCF 컴퓨터 인증 - 문자열 일치 문제 (실행이 정확한데 왜 제출한 후에 50점만 줍니까?)

1814 단어 문자열
내 프로그램:
#include<iostream>

#include<cctype>

#include<string>

#include<vector>

using namespace std;

int main()

{

	string s;

	cin>>s;

    int bl,m;

	cin>>bl;

	cin>>m;



	int count=0;

	vector<string>s1;



	for(int i=0;i<m;i++)

	{

		string s0;

		cin>>s0;

		if(bl==1)

		{

			if(s0.find(s)!=-1)

				s1.push_back(s0);

		}

		else if(bl==0)

		{

			string s_1=s;

			string s_2=s0;



			int len1=s_1.size();

			int len2=s_2.size();



			for(int x=0;x<len1;x++)

			{

				tolower(s_1[x]);

			}

			for(int y=0;y<len2;y++)

			{

				tolower(s_2[y]);

			}



			if(s_2.find(s_1)!=-1)

				s1.push_back(s0);

		}

		else

			continue;

	}



	int len=s1.size();

	for(int j=0;j<len;j++)

		cout<<s1[j]<<endl;



	return 0;

}


  
문자열 일치
시간 제한:
1.0s
메모리 제한:
256.0MB
문제 설명:
문제 설명
문자열과 여러 줄 문자를 보여 줍니다. 이 문자에서 문자열이 나오는 줄을 찾을 수 있습니다.프로그램은 대소문자 민감 옵션을 지원해야 합니다. 옵션이 열릴 때 같은 알파벳의 대문자와 소문자를 다른 문자로 간주합니다.옵션이 닫혔을 때 같은 알파벳의 대문자와 소문자는 같은 문자로 간주됩니다.
입력 형식
입력한 첫 번째 행에는 대소문자 영문자로 구성된 문자열 S가 포함되어 있습니다.
두 번째 줄에는 대소문자가 민감하다는 것을 나타내는 숫자가 포함되어 있으며, 숫자가 0일 때는 대소문자가 민감하지 않다는 것을 나타내고, 숫자가 1일 때는 대소문자가 민감하다는 것을 나타낸다.
세 번째 줄은 주어진 문자의 줄 수를 나타내는 정수 n을 포함한다.
다음 n 줄은 줄마다 문자열을 포함하고 문자열은 대소문자 영문자로 구성되며 공백과 기타 문자가 포함되지 않습니다.
출력 형식
여러 줄을 출력합니다. 줄마다 문자열을 포함하고, 문자열 S가 포함된 줄을 나타나는 순서대로 보여 줍니다.
샘플 입력
Hello
1
5
HelloWorld
HiHiHelloHiHi
GrepIsAGreatTool
HELLO
HELLOisNOTHello
샘플 출력
HelloWorld
HiHiHelloHiHi
HELLOisNOTHello
샘플 설명
위의 예제에서 네 번째 문자열도 Hello이지만 대소문자가 올바르지 않습니다.입력한 두 번째 줄을 0으로 바꾸면 네 번째 문자열을 출력해야 합니다.
용례 규모와 약정을 평가하다
1<=n<=100, 각 문자열의 길이는 100을 초과하지 않습니다.

좋은 웹페이지 즐겨찾기