我能想到的最直接的写法
using namespace std; int T; string big,small; void solve() { cin>>big>>small; int ll=big.length(); int pos=0; while(pos<ll) { if(big.substr(pos,small.length())==small) pos+=small.length(); else cout<<big[pos++]; } cout<<endl; return; } int main() { scanf(“%d”,&T); for(int step=0;step<T;step++) { printf(“case #%d:\n”,step); solve(); } return 0; }
python的str.replace太爽了,几行搞定! q = int(input()) for t in range(q): print(“case #%d:” % t) a,b = input().split() print(a.replace(b,’‘))
用Java瞎写的
import java.util.Scanner;
public class Main{ public static void main(String[] args) { int n; Scanner scan = new Scanner(System.in); n = scan.nextInt(); scan.nextLine(); int i = 0; while(n–!=0){ String s; scan.useDelimiter(“\n”); s= scan.nextLine(); String[] str = s.split(” “); System.out.println( “case #” + (i++) + “:”); System.out.println(str[0].replace(str[1],”“)); } } }
#include<bits/stdc++.h> using namespace std; int T; int main() { cin>>T; string s,t; for(int i=0;i<T;i++) { cin>>s>>t; int len=s.length(),len2=t.length(); printf("case #%d:\n",i); for(int j=0;j<len;j++) { if(s.substr(j,len2)==t) j+=len2-1; else cout<<s[j]; } cout<<endl; } return 0; }
substr真是太好了
这题字符串没东西的时候是要输出一个换行符的。。题目的样例骗人了!!!!
我看到案例以为要那样输出。。。
嗯是的。 不过平时写的时候不都是
printf("case #%d:\n", t); ... printf("\n");
这样嘛
感谢指出,已经修正。
我说的不是case后面的换行符!!!是字符串的换行符。。。 假如是空的话题目样例是 case #1: case #2:??? 而答案是 case #1:
case #2:???
并没有骗人hhh如果样例没有输出换行符就会变成:
case #1:case #2:
我能想到的最直接的写法
include
using namespace std;
int T;
string big,small;
void solve()
{
cin>>big>>small;
int ll=big.length();
int pos=0;
while(pos<ll)
{
if(big.substr(pos,small.length())==small) pos+=small.length();
else cout<<big[pos++];
}
cout<<endl;
return;
}
int main()
{
scanf(“%d”,&T);
for(int step=0;step<T;step++)
{
printf(“case #%d:\n”,step);
solve();
}
return 0;
}
python的str.replace太爽了,几行搞定!
q = int(input())
for t in range(q):
print(“case #%d:” % t)
a,b = input().split()
print(a.replace(b,’‘))
用Java瞎写的
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
int n;
Scanner scan = new Scanner(System.in);
n = scan.nextInt();
scan.nextLine();
int i = 0;
while(n–!=0){
String s;
scan.useDelimiter(“\n”);
s= scan.nextLine();
String[] str = s.split(” “);
System.out.println( “case #” + (i++) + “:”);
System.out.println(str[0].replace(str[1],”“));
}
}
}
substr真是太好了
这题字符串没东西的时候是要输出一个换行符的。。题目的样例骗人了!!!!
我看到案例以为要那样输出。。。
嗯是的。
不过平时写的时候不都是
这样嘛
感谢指出,已经修正。
我说的不是case后面的换行符!!!是字符串的换行符。。。
假如是空的话题目样例是
case #1:
case #2:???
而答案是
case #1:
case #2:???
并没有骗人hhh如果样例没有输出换行符就会变成: