1 条题解
-
0
C :
#include"stdio.h" #include"string.h" int main() { char a[1000],b[1000],c[1000]; int n,i,j,k,count=1,len,flag; scanf("%d",&n); while(n--) { flag=0; scanf("%s%s%s",a,b,c); len=strlen(c); for(i=0,j=0,k=0;k<len;k++) { if(c[k]==a[i]) i++; else if(c[k]==b[j]) j++; else { flag++; break; } } for(i=0,j=0,k=0;k<len;k++) { if(c[k]==b[j]) j++; else if(c[k]==a[i]) i++; else { flag++; break; } } printf("Case %d: ",count++); if(flag==2) printf("no\n"); else printf("yes\n"); } }
C++ :
#include <stdio.h> #include <string.h> int main() { int n, dp[201][201], i, j, la, lb, C = 0; char a[201], b[201], c[402]; scanf("%d", &n); while (n--) { scanf("%s%s%s", a, b, c); memset(dp, 0, sizeof(dp)); la = strlen(a); lb = strlen(b); for (i = 0; i < la; i++) { if (a[i] == c[i]) dp[i + 1][0] = 1; else break; } for (i = 0; i < lb; i++) { if (b[i] == c[i]) dp[0][i + 1] = 1; else break; } for (i = 1; i <= la; i++) for (j = 1; j <= lb; j++) if ((dp[i - 1][j] && a[i - 1] == c[i + j - 1]) || (dp[i][j - 1] && b[j - 1] == c[i + j - 1])) dp[i][j] = 1; printf("Case %d: ", ++C); puts(dp[la][lb] ? "yes" : "no"); } return 0; }
Java :
import java.util.Scanner; class deal{ public int n,m; public char [] one,two,comb; public int flag[][]=new int[210][210]; public deal(){} public void init(String...all){ one=all[0].toCharArray(); two=all[1].toCharArray(); comb=all[2].toCharArray(); n=all[0].length(); m=all[1].length(); for(int i=0;i<n+5;i++) { for(int j=0;j<m+5;j++)flag[i][j]=0; } } public boolean solve(int i,int j,int k){ if(i>=n && j>=m)return true; if(flag[i][j]==1)return false; boolean f=false; if(i<n) { if(one[i]==comb[k]) { f=solve(i+1,j,k+1); if(f)return f; } } if(j<m) { if(two[j]==comb[k]) { f=solve(i,j+1,k+1); if(f) return f; } } flag[i][j]=1; return false; } } public class Main{ public static void main(String...strings) { Scanner in = new Scanner(System.in); int t=in.nextInt(); deal h = new deal(); int T=0; while(T<t) { T++; System.out.print("Case "+T+": "); h.init(in.next(),in.next(),in.next()); if(h.solve(0,0,0))System.out.println("yes"); else System.out.println("no"); } } }
- 1
信息
- ID
- 2365
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者