7-1
#include<bits/stdc++.h>
int a, b;
int main()
{
std::cin >> a >> b;
std::cout << a + b << "\n";
return 0;
}
7-2
#include<bits/stdc++.h>
int main()
{
for (int i = 0; i < 100; i ++)
std::cout << "QAU_ACM实验室yyds\n";
return 0;
}
7-3
#include<bits/stdc++.h>
typedef long long i64;
i64 a, b;
i64 res = 1;
int main()
{
std::cin >> a >> b;
for (int i = 0; i < b; i ++)
res *= a;
std::cout << res << "\n";
return 0;
}
7-4
#include<bits/stdc++.h>
typedef long long i64;
const int N = 90;
int T;
int n;
std::vector<i64> L(N);
void init()
{
L[0] = 2;
L[1] = 1;
for (int i = 2; i <= 86; i ++)
L[i] = L[i - 1] + L[i - 2];
}
void solve()
{
std::cin >> n;
std::cout << L[n] << "\n";
}
int main()
{
init();
std::cin >> T;
while (T --)
{
solve();
}
return 0;
}
7-5
#include<bits/stdc++.h>
int T = 1;
int a, last;
void solve()
{
auto check = [&](int a)
{
if (a % 25) return true;
if (a < 100 || a > 675) return true;
return false;
};
for (int i = 0; i < 8; i ++)
{
std::cin >> a;
if (i && a < last)
{
std::cout << "No\n";
return ;
}
if (check(a))
{
std::cout << "No\n";
return;
}
last = a;
}
std::cout << "Yes\n";
}
int main()
{
while (T --)
{
solve();
}
return 0;
}
7-6
#include<bits/stdc++.h>
typedef long long i64;
int T = 1;
int a, b, c;
int x;
void solve()
{
std::cin >> a >> b >> c >> x;
int cnt = 0;
for (int i = 0; i <= a; i ++)
for (int j = 0; j <= b; j ++)
for (int k = 0; k <= c; k ++)
if (i * 500 + j * 100 + k * 50 == x)
cnt ++;
std::cout << cnt << "\n";
}
int main()
{
// std::cin >> T;
while (T --)
{
solve();
}
return 0;
}
7-7
#include<bits/stdc++.h>
typedef long long i64;
int T = 1;
std::string a;
std::string b = "aoyeui";
void solve()
{
std::cin >> a;
for (int i = 0; i < a.size(); i ++)
{
a[i] = tolower(a[i]);
if (~b.find(a[i]))
continue;
std::cout << "." << a[i];
}
}
int main()
{
// std::cin >> T;
while (T --)
{
solve();
}
return 0;
}
7-8
#include<bits/stdc++.h>
typedef long long i64;
int T = 1;
int n;
void solve()
{
std::cin >> n;
std::cout << (n / 10 * 100) + ((n % 10) <= 6 ? (n % 10 * 15) : 100) << "\n";
}
int main()
{
// std::cin >> T;
while (T --)
{
solve();
}
return 0;
}
7-9
#include<bits/stdc++.h>
typedef long long i64;
int T = 1;
std::vector<int> a(5);
std::set<int> s;
void solve()
{
for (int i = 0; i < 5; i ++) std::cin >> a[i];
for (int i = 0; i < 5; i ++)
for (int j = i + 1; j < 5; j ++)
for (int k = j + 1; k < 5; k ++)
s.insert(a[i] + a[j] + a[k]);
std::set<int>::iterator it = s.end();
it --;
it --;
it --;
std::cout << *it << "\n";
}
int main()
{
// std::cin >> T;
while (T --)
{
solve();
}
return 0;
}
7-10
#include<bits/stdc++.h>
typedef long long i64;
int T = 1;
int n, m;
std::string a, b;
void solve()
{
int i;
std::cin >> n >> m >> a >> b;
for (i = 0; i == 0 || a.size() <= 2 * b.size(); i ++)
{
if (~a.find(b))
{
std::cout << i << "\n";
return ;
}
a = a + a;
}
if (~a.find(b))
std::cout << i << "\n";
else
std::cout << "-1\n";
}
int main()
{
std::cin >> T;
while (T --)
{
solve();
}
return 0;
}
7-11
#include<bits/stdc++.h>
char d[4][4][4];
int dist[4][4][4];
int dx[6] = {1, -1, 0, 0, 0, 0};
int dy[6] = {0, 0, 1, -1, 0, 0};
int dz[6] = {0, 0, 0, 0, 1, -1};
struct Node
{
int z, x, y;
};
void bfs()
{
memset(dist, -1, sizeof dist);
std::queue<Node> q;
dist[1][1][1] = 0;
q.push({1, 1, 1});
while (q.size())
{
Node t = q.front();
q.pop();
int x = t.x, y = t.y, z = t.z;
if (x == 3 && y == 3 && z == 3)
break;
for (int i = 0; i < 6; i ++)
{
int a = x + dx[i];
int b = y + dy[i];
int c = z + dz[i];
// std::cout << a << b << c << std::endl;
if (a < 1 || a > 3 || b < 1 || b > 3 || c < 1 || c > 3) continue;
if (dist[c][a][b] != -1) continue;
if (d[c][a][b] == '*') continue;
dist[c][a][b] = dist[z][x][y] + 1;
q.push({c, a, b});
}
}
}
int main()
{
for (int i = 1; i <= 3; i ++)
for (int j = 1; j <= 3; j ++)
std::cin >> d[i][j] + 1;
bfs();
if (~dist[3][3][3]) printf("Escaped in %d minute(s).\n", dist[3][3][3]);
else puts("Trapped!");
return 0;
}
7-12
#include<bits/stdc++.h>
typedef long long LL;
int T;
LL n;
void solve()
{
std::cin >> n;
LL l = 0, r = 1e10;
auto check = [&](LL x)
{
return x * (x - 1) / 2 >= n;
};
while (l < r)
{
LL mid = l + r >> 1;
if (check(mid)) r = mid;
else l = mid + 1;
}
if (r * (r - 1) / 2 == n)
std::cout << r << std::endl;
else
{
LL ans = r - 1 + n - (r - 1) * (r - 2) / 2;
std::cout << ans << std::endl;
}
}
int main()
{
std::cin >> T;
while (T --)
{
solve();
}
return 0;
}
7-13
#include<bits/stdc++.h>
typedef long long i64;
const int N = 105, INF = 0x3f3f3f3f;
int T = 1;
int n, m;
int c[N][N], ans[N][N];
int dx[4] = {0, 0, 1, -1};
int dy[4] = {1, -1, 0, 0};
void dp(int x, int y)
{
for (int i = 0; i < 4; i ++)
{
int a = x + dx[i], b = y + dy[i];
if (c[a][b] < c[x][y] && ans[x][y] + 1 > ans[a][b])
{
ans[a][b] = ans[x][y] + 1;
dp(a, b);
}
}
}
void solve()
{
std::string name;
std::cin >> name >> n >> m;
memset(ans, 0, sizeof ans);
memset(c, 0x3f, sizeof c);
for (int i = 1; i <= n; i ++)
for (int j = 1; j <= m; j ++)
std::cin >> c[i][j];
for (int i = 1; i <= n; i ++)
for (int j = 1; j <= m; j ++)
dp(i, j);
int mx = 0;
for (int i = 1; i <= n; i ++)
for (int j = 1; j <= m; j ++)
mx = std::max(ans[i][j], mx);
std::cout << name << ": " << mx + 1 << "\n";
}
int main()
{
std::cin >> T;
while (T --)
{
solve();
}
return 0;
}