栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 2889 Vacation Rentals

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 2889 Vacation Rentals

#include <stdio.h>#define inf 123456789char str[100][26];int dp[101][26], ans[101][26];int main(){    int kase;    int ri;    int i, j, k, f, t, n, m;    scanf("%d", &kase);    while(kase--) {        ri = 0;        while(scanf("%d%d", &n, &m) != EOF && (n || m)) { if(ri) putchar('n'); for (i = 0; i < n; i++)     scanf("%s", str[i]); scanf("%d%d", &f, &t); f--; t--; for (j = 0; j < m; j++) {     dp[t - 1][j] = (str[t - 1][j] == 'X') ? inf : 0;     ans[t - 1][j] = -1; } for (i = t - 2; i >= f; i--)     for (j = 0; j < m; j++) {         dp[i][j] = inf;         if(str[i][j] == 'X') continue;         for (k = 0; k < m; k++) {  if(dp[i + 1][k] + (k != j) < dp[i][j]) {      dp[i][j] = dp[i + 1][k] + (k != j);      ans[i][j] = k;  }         }     } k = 0; for (i = 0; i < m; i++)     if(dp[f][i] < dp[f][k]) k = i; printf("Case %d:nn", ++ri); if(dp[f][k] == inf) printf("Not availablen"); else {     i = f;     do {         j = i;         while(ans[j][k] == k) j++;         printf("%c: %d-%dn", 'A' + k, i + 1, j + 2);         k = ans[j][k];         i = j + 1;     } while(k != -1); }        }        if(kase) putchar('n');    }}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/377262.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号