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;
}

Lu Dort shows love...

Oklahoma City Thunder guard Luguentz Dort has always been...

SoftBank’s OpenAI bet and...

SoftBank Group Corp. has long been known for its...

Why Everyone is Obsessed with the Packing Cube Set

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

Why Everyone is Obsessed with the White Noise Machine

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

Lu Dort shows love to Thunder fans ahead of offseason: ‘It’s been amazing’

Oklahoma City Thunder guard Luguentz Dort has always been a fan favorite, known for his relentless defensive work ethic and high energy on the...

Why Everyone is Obsessed with the Electronics Cleaning Kit

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

Why Everyone is Obsessed with the Desk LED Ring Light

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

SoftBank’s OpenAI bet and rising debt are raising liquidity crunch concerns

SoftBank Group Corp. has long been known for its high-stakes, high-reward investment strategies under the leadership of Masayoshi Son. Recently, the conglomerate's aggressive pivot...

Why Everyone is Obsessed with the Herb Scissors 5 Blade

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

Why Everyone is Obsessed with the Cable Management Box

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

Zydus Semaglutide approval: Delhi HC directs CDSCO to decide on patient safety concerns

The Delhi High Court has stepped into a significant pharmaceutical regulatory matter by directing the Central Drugs Standard Control Organisation (CDSCO) to address patient...