一、题目链接
http://noi.openjudge.cn/ch0107/19/
二、解题思路(Java)
三、解题思路(C++)
四、Java程序
import java.util.Scanner;
public class Main {
public boolean containable(String s1, String s2) {
boolean flag;
if (s1.length() >= s2.length()) {
String ss1 = s1.concat(s1);
flag = ss1.contains(s2);
}
else {
String ss2 = s2.concat(s2);
flag = ss2.contains(s1);
}
return flag;
}
public static void main(String[] args) {
Main test = new Main();
Scanner input = new Scanner(System.in);
String s1 = input.next();
String s2 = input.next();
System.out.print(test.containable(s1, s2));
}
}
五、C++程序
#include <iostream>
using namespace std;
int main()
{
string s1;
string s2;
cin >> s1;
cin >> s2;
string t;
if (s1.length() > s2.length())
{
t = s1 + s1;
if (t.find(s2) != t.npos)
{
cout << boolalpha << true;
}
else
{
cout << boolalpha << false;
}
}
else
{
t = s2 + s2;
if (t.find(s1) != t.npos)
{
cout << boolalpha << true;
}
else
{
cout << boolalpha << false;
}
}
return 0;
}