-2
私は以下の問題の解決策を試しています。問題へコーデックシェフと彼のシーケンス
リンク:problem link
問題: シェフは、N個の数字の配列を有しています。シーケンスに好きなシーケンスが部分文字列として含まれていると、彼はシーケンスの方が好きです。
は、シーケンスを考えると、彼のお気に入りのシーケンス(F)は、好きなシーケンスがシーケンス入力
最初の行は、テストケースの数が含まれ、例が続いているに含まれているかどうか確認してください。 各テストケースは4行で構成されています。シーケンスが好きなシーケンスがそうでなければ、それをint型含まれている場合、シーケンスの長さ、配列N、Fの長さおよび配列F
出力
印刷「はい」 「いいえ」と印刷します。
しかし、私は
私のコードにコード間違っanswer.Lookを取得しています:ループで
#include<iostream>
using namespace std;
int check(int *p,int *q,int n,int m)
{
int i,j,l;
for(i=0;i<n;i++)
{
if(p[i]==q[0])
{
j=i;
for(l=0;l<m;l++)
{
if(q[l]==p[j])
j++;
else
break;
}
}
if(l==m)
return 1;
}
return 0;
}
int main(void)
{
int a,*p,*q,m,t,i,n;
cin>>t;
while(t--)
{
cin>>n;
p=new int[n];
for(i=0;i<n;i++)
cin>>p[i];
cin>>m;
q=new int[m];
for(i=0;i<m;i++)
cin>>q[i];
if(check(p,q,n,m)==1)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
return 0;
}
質問のリンクをお願いします。 – Tempux
あなたのコードは、いくつかの入力に対して間違った答えを計算します。テストしてみてください:コードにさまざまな入力を行い、その出力を確認してください。あなたのコードが間違った出力を提供する入力を見つけたら、ここに投稿してください(投稿を編集してください)。これは[mcve]と呼ばれます。あなたの投稿にそれがある場合、誰かがそれに答えることができるチャンスがあります。 – anatolyg
ところで、オペレータやセミコロンのスペースを使ってプログラムを読みやすくすると、ポイントやクレジットは失われません。その使用法を反映する変数の名前も使用してください。 –