質問するログイン新規登録

質問編集履歴

2

修正

2021/03/07 08:12

投稿

LiLiPa
LiLiPa

スコア1

title CHANGED
File without changes
body CHANGED
@@ -4,10 +4,10 @@
4
4
 
5
5
  ### 発生している問題・エラーメッセージ
6
6
 
7
- 以下のソースコードでWAしてしまいます。このコードだとコンパイルエラーが表示されますが、ACするテストケースもあります。他のユーザーのコードで、同様のアルゴリズムで同じコンパイルエラーが出ているものがあったのですが,全てACしているようです。
8
- テストケース3つだけ通りません。コンパイルエラーが原因ではなさそうです。
7
+ 以下のソースコードでWAしてしまいます。何度も書き換えましたが、どしても3つのケースのみ通りません。
8
+ 原因を教えていただけませんか。
9
9
 
10
- 追記;.length → .sizeに変えたところコンパイルエラーはなくなました、同様のテストケースがWAします。
10
+ 追記;Warningの件、ご指摘ありがとうございます。
11
11
 
12
12
  ### 該当のソースコード
13
13
 
@@ -22,14 +22,14 @@
22
22
 
23
23
  int change_num = -1;
24
24
 
25
- if (S.size() < T.size()) { //S<Tのときはunrestorbable
25
+ if (S.size() < T.size()) {
26
26
  cout << "UNRESTORABLE" << endl;
27
27
  return 0;
28
28
  }
29
29
 
30
- for(int i=0; i < S.size()-T.size()+1; i++){
30
+ for(long unsigned int i=0; i < S.size()-T.size()+1; i++){
31
31
  bool flag_one = true;
32
- for(int k=0; k<T.size(); k++){ //末尾からTになりうる文字列を探す。
32
+ for(long unsigned int k=0; k<T.size(); k++){
33
33
  if( S.at(i+k) == T.at(k) || S.at(i+k) == '?'){
34
34
  }else{
35
35
  flag_one = false;
@@ -47,10 +47,10 @@
47
47
  return 0;
48
48
  }
49
49
 
50
- for(int i=0; i<T.size(); i++){//該当の?をT文字列にする。
50
+ for(long unsigned int i=0; i<T.size(); i++){
51
51
  if(S.at(i+change_num) == '?') S.at(i+change_num) = T.at(i);
52
52
  }
53
- for(int i=0; i<S.size(); i++){//残りの?は全てaに置き換える。
53
+ for(long unsigned int i=0; i<S.size(); i++){
54
54
  if(S.at(i) == '?') S.at(i) = 'a';
55
55
  }
56
56
 
@@ -59,20 +59,4 @@
59
59
  }
60
60
 
61
61
 
62
- ```
63
- ###コンパイルエラー
64
- ```C++
65
- ./Main.cpp: In function ‘int main()’:
66
- ./Main.cpp:11:26: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
67
- 11 | for(long long i=0; i < S.length()-T.length()+1; i++){
68
- | ~~^~~~~~~~~~~~~~~~~~~~~~~~~
69
- ./Main.cpp:13:29: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
70
- 13 | for(long long k=0; k<T.length(); k++){
71
- | ~^~~~~~~~~~~
72
- ./Main.cpp:31:25: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
73
- 31 | for(long long i=0; i<T.length(); i++){
74
- | ~^~~~~~~~~~~
75
- ./Main.cpp:34:25: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
76
- 34 | for(long long i=0; i<S.length(); i++){
77
- | ~^~~~~~~~~~~
78
62
  ```

1

修正

2021/03/07 08:12

投稿

LiLiPa
LiLiPa

スコア1

title CHANGED
File without changes
body CHANGED
@@ -7,6 +7,8 @@
7
7
  以下のソースコードでWAしてしまいます。このコードだとコンパイルエラーが表示されますが、ACするテストケースもあります。他のユーザーのコードで、同様のアルゴリズムで同じコンパイルエラーが出ているものがあったのですが,全てACしているようです。
8
8
  テストケースのうち3つだけ通りません。コンパイルエラーが原因ではなさそうです。
9
9
 
10
+ 追記;.length → .sizeに変えたところコンパイルエラーはなくなりましたが、同様のテストケースがWAします。
11
+
10
12
  ### 該当のソースコード
11
13
 
12
14
  ```C++