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

A Sea Cucumber’s Amputated...

The Mystery of the Undying Sea Cucumber TissueNature never...

DraftKings: Prediction Markets Are...

The online sports betting landscape is shifting rapidly, and...

A Sea Cucumber’s Amputated Tissue Refuses To Die. Could It Live Forever?

The Mystery of the Undying Sea Cucumber TissueNature never ceases to amaze, and the latest discovery in marine biology has left scientists questioning the...

Why Everyone is Obsessed with the Car Seat Gap Organizer

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

Why Everyone is Obsessed with the Reusable Lint Roller

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

DraftKings: Prediction Markets Are Eating This Company’s Lunch (Rating Downgrade)

The online sports betting landscape is shifting rapidly, and industry giant DraftKings (DKNG) is finding itself in increasingly turbulent waters. Once the undisputed darling...

Why Everyone is Obsessed with the Universal Charging Cable

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

Why Everyone is Obsessed with the Fridge Odor Eliminator

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

Hegseth Hails US Allies in Asia, Hits Out at Europe Partners

In a striking shift of foreign policy rhetoric, newly appointed U.S. Defense Secretary Pete Hegseth has praised America's allies in Asia while delivering sharp...

Why Everyone is Obsessed with the Reusable Silicone Food Bags

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

Why Everyone is Obsessed with the Motion Sensor Night Lights

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