Codeforces 761C Dasha and Password

来源:互联网 发布:关于数据新闻的选题 编辑:程序博客网 时间:2024/05/18 00:00

原题传送

#include <stdio.h>int min(int a, int b) {return a < b ? a : b;}int minn(int a, int b, int c, int d, int e, int f) {return min(min(min(a, b), min(c, d)), min(e, f));}int main() {char c[55][55];int a[55][3];int m, n, mid;scanf("%d%d", &n, &m);for(int i = 0; i < n; i++)scanf("%s", c[i]);for(int i = 0; i < n; i++)a[i][0] = a[i][1] = a[i][2] = 30;for(int i = 0; i < n; i++)for(int j = 0; j < m; j++)if(a[i][2] > min(j, m - j) && (c[i][j] == '#' || c[i][j] == '*' || c[i][j] == '&'))a[i][2] = min(j, m - j);else if(a[i][0] > min(j, m - j) && c[i][j] >= '0' && c[i][j] <= '9')a[i][0] = min(j, m - j);else if(a[i][1] > min(j, m - j) && c[i][j] >= 'a' && c[i][j] <= 'z')a[i][1] = min(j, m - j);int step = 90;for(int i = 0; i < n - 2; i++) {for(int j = i + 1; j < n - 1; j++) {for(int k = j + 1; k < n; k++) {mid = minn(a[i][0] + a[j][1] + a[k][2], a[i][0] + a[j][2] + a[k][1], a[i][1] + a[j][0] + a[k][2], a[i][1] + a[j][2] + a[k][0], a[i][2] + a[j][1] + a[k][0], a[i][2] + a[j][0] + a[k][1]);if(mid < step)step = mid;}}}printf("%d\n", step);return 0;}



0 0
原创粉丝点击