제출 #74665

#제출 시각아이디문제언어결과실행 시간메모리
74665GenezioSelling RNA Strands (JOI16_selling_rna)C++14
10 / 100
1563 ms1049600 KiB
#include<bits/stdc++.h>

using namespace std;

// SUBTASK - 25 PTS

const int N = 100010;

map<int,string> pre[N];
map<int,string> suf[N];
int tam[N];

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);

	int n,m;
	string s,p,q;
	cin>>n>>m;
	for(int i=0;i<n;i++) {
		cin>>s;
		tam[i]=s.size();
		string auxp;
		string auxs;
		for(int j=0;j<s.size();j++) {
			auxp+=s[j];
			auxs=s.substr(tam[i]-1-j,tam[i]);
			//cout<<i<<" "<<j<<" "<<auxp<<" "<<auxs<<"\n";
			pre[j+1][i]=auxp;
			suf[j+1][i]=auxs;
		}
	}
	for(int i=0;i<m;i++) {
		cin>>p>>q;
		int ans=0;
		//cout<<i<<" "<<p<<" "<<q<<"\n";
		for(int j=0;j<n;j++) {
			if(p.size()>tam[j]||q.size()>tam[j]) continue;
			//cout<<j<<" "<<pre[p.size()][j]<<" "<<suf[q.size()][j]<<"\n";
			if(pre[p.size()][j]==p&&suf[q.size()][j]==q) ans++;
		}
		cout<<ans<<"\n";
	}
}

컴파일 시 표준 에러 (stderr) 메시지

selling_rna.cpp: In function 'int main()':
selling_rna.cpp:25:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int j=0;j<s.size();j++) {
               ~^~~~~~~~~
selling_rna.cpp:38:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if(p.size()>tam[j]||q.size()>tam[j]) continue;
       ~~~~~~~~^~~~~~~
selling_rna.cpp:38:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if(p.size()>tam[j]||q.size()>tam[j]) continue;
                        ~~~~~~~~^~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...