QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#476106#552. 字符串匹配问题NOI_AK_ME#Compile Error//C++23568b2024-07-13 17:53:142024-07-13 17:53:15

Judging History

你现在查看的是最新测评结果

  • [2024-07-13 17:53:15]
  • 评测
  • [2024-07-13 17:53:14]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
#define int unsigned
constexpr int N = 3e5 + 5;
bitset<N> p[26], ok;
char s[N], t[N];
int n, m;
main() {
	cin >> (s + 1) >> (t + 1), n = strlen(s + 1), m = strlen(t + 1);
	for (int i = 1; i <= m; i++) {
		if (t[i] != '*') p[t[i] - 'a'].set(i);
		else for (int j = 0; j < 26; j++) p[j].set(i);
	}
	ok.set();
	for (int i = 1; i <= n; i++) {
		if (s[i] != '*') {
			ok &= p[s[i] - 'a'] >> (i - 1);
		}
	}
	for (int i = 1; i <= m - n + 1; i++) {
		if (ok[i]) {
			cout << i << " ";
		}
	}
	return 0;
}

詳細信息

answer.code:8:1: warning: ISO C++ forbids declaration of ‘main’ with no type [-Wreturn-type]
    8 | main() {
      | ^~~~
answer.code: In function ‘int main()’:
answer.code:9:13: error: no match for ‘operator>>’ (operand types are ‘std::istream’ {aka ‘std::basic_istream<char>’} and ‘char*’)
    9 |         cin >> (s + 1) >> (t + 1), n = strlen(s + 1), m = strlen(t + 1);
      |         ~~~ ^~ ~~~~~~~
      |         |         |
      |         |         char*
      |         std::istream {aka std::basic_istream<char>}
In file included from /usr/include/c++/13/sstream:40,
                 from /usr/include/c++/13/complex:45,
                 from /usr/include/c++/13/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:127,
                 from answer.code:1:
/usr/include/c++/13/istream:325:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(void*&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]’ (near match)
  325 |       operator>>(void*& __p)
      |       ^~~~~~~~
/usr/include/c++/13/istream:325:7: note:   conversion of argument 1 would be ill-formed:
answer.code:9:19: error: cannot bind non-const lvalue reference of type ‘void*&’ to an rvalue of type ‘void*’
    9 |         cin >> (s + 1) >> (t + 1), n = strlen(s + 1), m = strlen(t + 1);
      |                ~~~^~~~
/usr/include/c++/13/istream:201:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]’ (near match)
  201 |       operator>>(unsigned long long& __n)
      |       ^~~~~~~~
/usr/include/c++/13/istream:201:7: note:   conversion of argument 1 would be ill-formed:
answer.code:9:19: error: invalid conversion from ‘char*’ to ‘long long unsigned int’ [-fpermissive]
    9 |         cin >> (s + 1) >> (t + 1), n = strlen(s + 1), m = strlen(t + 1);
      |                ~~~^~~~
      |                   |
      |                   char*
answer.code:9:19: error: cannot bind rvalue ‘(long long unsigned int)(((char*)(& s)) + 1)’ to ‘long long unsigned int&’
/usr/include/c++/13/istream:197:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]’ (near match)
  197 |       operator>>(long long& __n)
      |       ^~~~~~~~
/usr/include/c++/13/istream:197:7: note:   conversion of argument 1 would be ill-formed:
answer.code:9:19: error: invalid conversion from ‘char*’ to ‘long long int’ [-fpermissive]
    9 |         cin >> (s + 1) >> (t + 1), n = strlen(s + 1), m = strlen(t + 1);
      |                ~~~^~~~
      |                   |
      |                   char*
answer.code:9:19: error: cannot bind rvalue ‘(long long int)(((char*)(& s)) + 1)’ to ‘long long int&’
/usr/include/c++/13/istream:192:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]’ (near match)
  192 |       operator>>(unsigned long& __n)
      |       ^~~~~~~~
/usr/include/c++/13/istream:192:7: note:   conversion of argument 1 would be ill-formed:
answer.code:9:19: error: invalid conversion from ‘char*’ to ‘long unsigned int’ [-fpermissive]
    9 |         cin >> (s + 1) >> (t + 1), n = strlen(s + 1), m = strlen(t + 1);
      |                ~~~^~~~
      |                   |
      |                   char*
answer.code:9:19: error: cannot bind rvalue ‘(long unsigned int)(((char*)(& s)) + 1)’ to ‘long unsigned int&’
/usr/include/c++/13/istream:188:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]’ (near match)
  188 |       operator>>(long& __n)
      |       ^~~~~~~~
/usr/include/c++/13/istream:188:7: note:   conversion of argument 1 would be ill-formed:
answer.code:9:19: error: invalid conversion from ‘char*’ to ‘long int’ [-fpermissive]
    9 |         cin >> (s + 1) >> (t + 1), n = strlen(s + 1), m = strlen(t + 1);
      |                ~~~^~~~
      |                   |
      |                   char*
answer.code:9:19: error: cannot bind rvalue ‘(long int)(((char*)(& s)) + 1)’ to ‘long int&’
/usr/include/c++/13/istream:184:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]’ (near match)
  184 |       operator>>(unsign...