Sponsors

Codeforces Round #425 (Div. 2), problem: (E) Vasya and Shifts Solution In C/C++

#include<bits/stdc++.h>
#define oo 0x3f3f3f3f
#define cl(x) memset(x, 0, sizeof(x))
#define mp make_pair
#define fr first
#define sc second
#define pii pair<int, int>
#define pb push_back
#define mo 1000000007
#define maxn 510
typedef long long ll;
using namespace std;
void gn(int &x) {
x = 0; char ch = getchar();
while (ch < ‘0’ || ch > ‘9’) ch = getchar();
while (ch >= ‘0’ && ch <= ‘9’)
x = x * 10 + ch – ‘0’, ch = getchar();
}
int n, m, q, end, a[maxn][maxn], x[maxn], b[maxn];
int ans;
char s[maxn], t[maxn];
void gauss() {
int p = 1;
for (int i = 1; i <= n && p <= m; ++i, ++p) {
for (int j = i; j <= n; ++j)
if (a[j][p] != 0) {
for (int k = 1; k <= m; ++k) swap(a[j][k], a[i][k]);
break;
}
if (!a[i][p]) {
–i; continue;
}
for (int j = i + 1; j <= n; ++j)
if (a[j][p] != 0) {
int t = a[j][p];
for (int k = p; k <= m; ++k) {
a[j][k] = a[j][k] * a[i][p] – a[i][k] * t;
a[j][k] = (a[j][k] % 5 + 5) % 5;
}
}
}
for (int i = 1; i <= n; ++i) {
bool flag = 1;
for (int j = 1; j <= m; ++j)
if (a[i][j]) flag = 0, end = i;
if (flag) ans = 5ll * ans % mo;
}
}
bool check() {
for (int i = 1; i <= end; ++i) {
int p = 1; while (a[i][p] == 0) ++p;
if (b[p] != 0) {
int t = b[p];
for (int k = p; k <= m; ++k) {
b[k] = b[k] * a[i][p] – a[i][k] * t;
b[k] = (b[k] % 5 + 5) % 5;
}
}
}
bool flag = 1;
for (int i = 1; i <= m; ++i)
if (b[i]) flag = 0;
return flag;
}
int main() {
gn(n); gn(m);
for (int i = 1; i <= n; ++i) {
scanf(“%s”, s + 1);
for (int j = 1; j <= m; ++j)
a[i][j] = s[j] – ‘a’;
}
ans = 1;
gauss();
gn(q);
while (q–) {
scanf(“%s”, t + 1);
for (int i = 1; i <= m; ++i) b[i] = t[i] – ‘a’;
if (check()) printf(“%d\n”, ans); else puts(“0”);
}
return 0;
}

Infected with TDSS and...

Dealing with TDSS Rootkit Infections and Google Search Redirects Computer...

Ronda Rousey vs. Gina...

The Dream Match: Ronda Rousey vs. Gina Carano at...

Why Everyone is Obsessed with the Portable Door Lock for Travel

Are you tired of dealing with everyday frustrations that slow down your routine? We've all been...

Infected with TDSS and Google Keeps redirecting

Dealing with TDSS Rootkit Infections and Google Search Redirects Computer security is a continuous battle, and some threats are significantly more stubborn than others. A...

Why Everyone is Obsessed with the Portable Handheld Misting Fan

Are you tired of dealing with everyday frustrations that slow down your routine? We've all been...

Why Everyone is Obsessed with the Mini Magnetic Bag Sealer

Are you tired of dealing with everyday frustrations that slow down your routine? We've all been...

Ronda Rousey vs. Gina Carano MVP MMA live blog

The Dream Match: Ronda Rousey vs. Gina Carano at MVP MMA The world of mixed martial arts is currently witnessing a moment many thought would...

Why Everyone is Obsessed with the Electric Spin Scrubber Pro

Are you tired of dealing with everyday frustrations that slow down your routine? We've all been...

Why Everyone is Obsessed with the Mini Magnetic Bag Sealer

Are you tired of dealing with everyday frustrations that slow down your routine? We've all been...

Why Everyone is Obsessed with the Electric Spin Scrubber Pro

Are you tired of dealing with everyday frustrations that slow down your routine? We've all been...

Why Everyone is Obsessed with the Sunset Projection Lamp LED

Are you tired of dealing with everyday frustrations that slow down your routine? We've all been...