Submission #111134

#TimeUsernameProblemLanguageResultExecution timeMemory
111134heonMate (COCI18_mate)C++17
0 / 100
2048 ms1776 KiB
#include<iostream>

using namespace std;
#define int long long

const int MOD = 1000000007;

string s;
int q,qnum;
string qs;

int povrh(int a,int b){
	int rt = 1;
	int lt = 1;
	for(int i = b; i > 0; i--){
		rt *= a;
		rt %= MOD;
		lt *= i;
		lt %= MOD;
		a--;
	}
	int sol = rt/lt;
	sol %= MOD;
	return sol;
}

signed main(){
	cin >> s >> q;
	for(int i = 0; i < q; i++){
		cin >> qnum >> qs;
		int sol = 0;
		for(int j = 0; j < s.size()-1; j++){
			if(s[j] != qs[0]) continue;
			for(int k = j+1; k < s.size(); k++){
				if(s[k] != qs[1]) continue;
				if(j >= qnum-2) sol += povrh(j,qnum-2);
			}
		}
		sol %= MOD;
		cout << sol << endl;
	}
}

Compilation message (stderr)

mate.cpp: In function 'int main()':
mate.cpp:32:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int j = 0; j < s.size()-1; j++){
                  ~~^~~~~~~~~~~~
mate.cpp:34:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for(int k = j+1; k < s.size(); k++){
                     ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...