#include <stdio.h>
#include <string.h>
char str[105];
int num[26];
int main() {
scanf("%s", str);
for (int i = 0; i < strlen(str); i++) {
num[str[i] - ‘a‘]++;
}
int ans = 0; num[‘n‘ - ‘a‘]--;
while (num[‘n‘ - ‘a‘] >= 2 && num[‘e‘ - ‘a‘] >= 3 && num[‘t‘ - ‘a‘] >= 1 && num[‘i‘ - ‘a‘] >= 1) {
num[‘n‘ - ‘a‘] -= 2; num[‘e‘ - ‘a‘] -= 3; num[‘t‘ - ‘a‘] -= 1; num[‘i‘ - ‘a‘] -= 1;
ans++;
}
printf("%d\n", ans);
return 0;
}B:#include <stdio.h>
#include <string.h>
const int N = 175;
int n;
double w[N][N], a[N][N], b[N][N];
int main() {
int i, j;
scanf("%d", &n);
for (i = 0; i< n; i++)
for (j = 0; j < n; j++)
scanf("%lf", &w[i][j]);
for (i = 0; i < n; i++)
for (j = 0; j < n; j++) {
a[i][j] = (w[i][j] + w[j][i]) / 2;
b[i][j] = (w[i][j] - w[j][i]) / 2;
}
for (i = 0; i < n; i++) {
for (j = 0; j < n - 1; j++) {
printf("%.8lf ", a[i][j]);
}
printf("%.8lf\n", a[i][j]);
}
for (i = 0; i < n; i++) {
for (j = 0; j < n - 1; j++) {
printf("%.8lf ", b[i][j]);
}
printf("%.8lf\n", b[i][j]);
}
return 0;
}#include <stdio.h>
#include <string.h>
#include <math.h>
int main () {
__int64 n, ans = 0;
scanf("%I64d", &n);
double R = n;
__int64 tmp = n;
for (int i = 1; i <= n; i++) {
double r = i;
__int64 k = sqrt(R*R - r*r);
if (tmp - k == 0)
ans += 1;
else
ans += tmp - k;
tmp = k;
}
if (n == 0) printf("1\n");
else printf("%I64d\n", ans * 4);
return 0;
}#include <stdio.h>
#include <string.h>
#define INF 0x3f3f3f3f3f3f3f
#define min(a,b) ((a)<(b)?(a):(b))
#define max(a,b) ((a)>(b)?(a):(b))
__int64 dp[45][3][3];
int n;
__int64 solve() {
for (int i = 2; i <= n; i++) {
for (int j = 0; j < 3; j++) {
for (int k = 0; k < 3; k++) {
if (j == k) continue;
dp[i][j][k] = min(dp[i][j][k], min(dp[i - 1][j][3 - j - k], dp[i - 1][j][k] + dp[i - 1][k][3 - j - k]) + dp[1][j][k] + min(dp[i - 1][3 - j - k][k], dp[i - 1][3 - j - k][j] + dp[i - 1][j][k]));
dp[i][j][k] = min(dp[i][j][k], min(dp[i - 1][j][k], dp[i - 1][j][3 - j - k] + dp[i - 1][3 - j - k][k]) + dp[1][j][3 - j - k] + min(dp[i - 1][k][j], dp[i - 1][k][3 - j - k] + dp[i - 1][3 - j - k][j]) + dp[1][3 - j - k][k] + min(dp[i - 1][j][k], dp[i - 1][j][3 - j - k] + dp[i - 1][3 - j - k][k]));
}
}
}
if (n == 1) dp[n][0][2] = min(dp[n][0][2], dp[n][0][1] + dp[n][1][2]);
return dp[n][0][2];
}
int main() {
int i, j, k;
for (i = 0; i <= 40; i++)
for (j = 0; j < 3; j++)
for (k = 0; k < 3; k++) {
dp[i][j][k] = INF;
}
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
scanf("%I64d", &dp[1][i][j]);
scanf("%d", &n);
printf("%I64d\n", solve());
return 0;
}Codeforces Round #230 (Div. 2)
原文:http://blog.csdn.net/accelerator_/article/details/19521531