1 条题解
-
0
C :
#include<stdio.h> #include<stdlib.h> #include<string.h> int main() { int n; scanf("%d", &n); int *flag = (int *)malloc(n*sizeof(int)); int i; int j, k; int len_a, len_b, len_c; int site = 0; char a[200]; char b[200]; char c[400]; char *p; char *q; for(i = 0; i < n; i++) { site = 0; flag[i] = 1; scanf("%s", a); scanf("%s", b); scanf("%s", c); len_a = strlen(a); len_b = strlen(b); len_c = strlen(c); if(len_c != len_a + len_b) { flag[i] = 0; continue; } p = a; for(j = 0; j < len_a; j++, p++) { while(*p != *(c+site) && *(c+site) != '\0') { site++; } if(*(c+site) == '\0') { flag[i] = 0; break; } } p = b; site = 0; for(j = 0; j < len_b; j++, p++) { while(*p != *(c+site) && *(c+site) != '\0') { site++; } if(*(c+site) == '\0') { flag[i] = 0; break; } } } for(i = 0; i < n; i++) { if(flag[i]) { printf("Case %d: yes\n", i+1); } else { printf("Case %d: no\n", i+1); } } return 0; }
C++ :
#include<iostream> #include<string> using namespace std; int main() { int n,i,j,k1,k2; char q1,q2; cin>>n; string word1[n],word2[n],word3[n]; string put[n]; for(i=0;i<n;i++) cin>>word1[i]>>word2[i]>>word3[i]; for(i=0;i<n;i++) { k1 = 0; k2 = 0; q1 = word1[i][0]; for(j=0;word3[i][j]!='\0';j++) { if(word3[i][j]==q1) { k1++; q1 = word1[i][k1]; } } q2 = word2[i][0]; for(j=0;word3[i][j]!='\0';j++) { if(word3[i][j]==q2) { k2++; q2 = word2[i][k2]; } } if(q1 == '\0'&&q1 == '\0') put[i] = "yes"; else put[i] = "no"; } for(i=0;i<n;i++) cout<<"Case "<<i+1<<": "<<put[i]<<endl; }
Java :
import java.util.*; public class Main { public static void main(String[] args) { Scanner input=new Scanner(System.in); int n=input.nextInt(); String a=null; String b=null; String c=null; for(int i=0;i<n;i++) { a=input.next(); b=input.next(); c=input.next(); if((a.length()+b.length())==c.length()) { int num=0,pos=0; for(int j=0;j<a.length();j++) { char target=a.charAt(j); for(;pos<c.length();pos++) { if(target==c.charAt(pos)) { num++; break; } } } int num2=0,pos2=0; for(int j=0;j<b.length();j++) { char target=b.charAt(j); for(;pos2<c.length();pos2++) { if(target==c.charAt(pos2)) { num2++; break; } } } if(num==a.length()&&num2==b.length()) { System.out.println("Case "+(i+1)+": yes"); }else { System.out.println("Case "+(i+1)+": no"); } }else { System.out.println("Case "+(i+1)+": no"); } } } }
- 1
信息
- ID
- 1389
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者