#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int n, ans, x;
cin >> n;
while (n--)
{
ans = 0;
for (int i = 1; i <= 7; i++)
{
cin >> x;
ans += x;
}
cout << ans << " ";
}
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int n;
string s[105];
bool check(string s)
{
int len = s.length();
for (int i = 0; i < len / 2; i++)
if (s[i] != s[len - 1 - i])
return false;
return true;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cin >> n;
for (int i = 1; i <= n; i++)
cin >> s[i];
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
{
if (i == j)
continue;
if (check(s[i] + s[j]))
{
cout << "Yes\n";
return 0;
}
}
cout << "No\n";
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int Ha, Wa, Hb, Wb, Hx, Wx, H, W;
char a[15][15], b[15][15], x[15][15], c[35][35];
bool check(int A, int B, int AA, int BB)
{
for (int i = 1; i <= 30; i++)
for (int j = 1; j <= 30; j++)
c[i][j] = '.';
for (int i = 1; i <= Ha; i++)
for (int j = 1; j <= Wa; j++)
if (c[A + i - 1][B + j - 1] == '.')
c[A + i - 1][B + j - 1] = a[i][j];
for (int i = 1; i <= Hb; i++)
for (int j = 1; j <= Wb; j++)
if (c[AA + i - 1][BB + j - 1] == '.')
c[AA + i - 1][BB + j - 1] = b[i][j];
/*
if (A == 12 && B == 11 && AA == 12 && BB == 11)
{
for (int i = 1; i <= 30; i++)
{
for (int j = 1; j <= 30; j++)
{
if (i == 11 && j == 11)
{
if (c[i][j] == '#')
cout << "o";
else
cout << "x";
}
else
cout << c[i][j];
}
cout << "\n";
}
}
*/
for (int i = 1; i <= Hx; i++)
for (int j = 1; j <= Wx; j++)
if (x[i][j] != c[10 + i][10 + j])
return false;
for (int i = 1; i <= 30; i++)
for (int j = 1; j <= 30; j++)
{
if (11 <= i && i <= 10 + Hx &&
11 <= j && j <= 10 + Wx)
continue;
if (c[i][j] != '.')
return false;
}
return true;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
H = W = 0;
cin >> Ha >> Wa;
for (int i = 1; i <= Ha; i++)
for (int j = 1; j <= Wa; j++)
cin >> a[i][j];
cin >> Hb >> Wb;
for (int i = 1; i <= Hb; i++)
for (int j = 1; j <= Wb; j++)
cin >> b[i][j];
cin >> Hx >> Wx;
for (int i = 1; i <= Hx; i++)
for (int j = 1; j <= Wx; j++)
cin >> x[i][j];
for (int i = 1; i <= 20; i++)
for (int j = 1; j <= 20; j++)
for (int ii = 1; ii <= 20; ii++)
for (int jj = 1; jj <= 20; jj++)
if (check(i, j, ii, jj))
{
cout << "Yes\n";
return 0;
}
cout << "No\n";
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int n;
string s;
deque<int> q;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cin >> n;
cin >> s;
s = "$" + s + "^";
int cnt = 0;
for (int i = 1; i <= n; i++)
{
if (s[i] != '(' && s[i] != ')')
q.push_back(s[i]);
if (s[i] == '(')
{
cnt++;
q.push_back(s[i]);
}
if (s[i] == ')')
{
if (cnt == 0)
q.push_back(s[i]);
else
{
cnt--;
while (q.back() != '(')
q.pop_back();
q.pop_back();
}
}
}
for (char x : q)
cout << x;
return 0;
}
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int MAXN = 1000000;
const int MOD = 998244353;
int n, m;
int f[MAXN + 5][2]; // 前i项、是否和第一个数一样、相邻两项不同的方案数
signed main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cin >> n >> m;
// 不能和第1个数一样
f[2][0] = m * (m - 1) % MOD;
// 必须是第一个数
f[2][1] = 0;
// 不能和第2个及第1个一样
f[3][0] = (f[2][0] * (m - 2) % MOD + f[2][1] * (m - 1) % MOD) % MOD;
// 必须是第一个数
f[3][1] = f[2][0];
for (int i = 4; i <= n; i++)
{
f[i][0] = (f[i - 1][0] * (m - 2) % MOD + f[i - 1][1] * (m - 1) % MOD) % MOD;
f[i][1] = f[i - 1][0];
}
cout << f[n][0] << "\n";
return 0;
}
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 300000; // MAXM=MAXK=MAXD=MAXN;
int n, m;
vector<pair<int, int>> e[MAXN + 5];
int k, a[MAXN + 5];
int d, x[MAXN + 5];
// (-最小距离,房间编号)
priority_queue<pair<int, int>> q;
queue<int> qq; // 新增感染人群
bool vis[MAXN + 5]; // 有没有被感染
int ans[MAXN + 5];
int dis[MAXN + 5]; // 这天距离感染人群的距离
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cin >> n >> m;
for (int i = 1; i <= m; i++)
{
int u, v, w;
cin >> u >> v >> w;
e[u].push_back(make_pair(v, w));
e[v].push_back(make_pair(u, w));
}
cin >> k;
for (int i = 1; i <= k; i++)
cin >> a[i];
cin >> d;
for (int i = 1; i <= d; i++)
cin >> x[i];
// 初始感染人群
for (int i = 1; i <= n; i++)
{
vis[i] = 0;
ans[i] = -1;
}
memset(dis, 0x3f, sizeof(dis));
for (int i = 1; i <= k; i++)
{
int u = a[i];
vis[u] = true;
ans[u] = 0;
dis[u] = 0;
for (auto nxt : e[u])
{
int v = nxt.first;
int w = nxt.second;
if (!vis[v])
{
q.push(make_pair(-w, v));
dis[v] = min(dis[v], w);
}
}
}
for (int i = 1; i <= d; i++)
{
while (!q.empty() && vis[q.top().second])
q.pop();
int nowD = x[i]; // 当前距离
while (!q.empty() && dis[q.top().second] <= nowD)
{
int u = q.top().second;
q.pop();
if (vis[u])
continue;
ans[u] = i;
vis[u] = true;
for (auto nxt : e[u])
{
int v = nxt.first;
int w = nxt.second;
if (!vis[v] && dis[u] + w < dis[v])
{
dis[v] = dis[u] + w;
q.push(make_pair(-dis[v], v));
}
}
qq.push(u);
}
while (!qq.empty())
{
int u = qq.front();
qq.pop();
dis[u] = 0;
for (auto nxt : e[u])
{
int v = nxt.first;
int w = nxt.second;
if (!vis[v] && w < dis[v])
{
dis[v] = w;
q.push(make_pair(-w, v));
}
}
}
}
for (int i = 1; i <= n; i++)
cout << ans[i] << "\n";
return 0;
}