QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#365000#5514. Mazeksu_#Compile Error//C++142.2kb2024-03-24 17:55:592024-07-04 03:31:07

Judging History

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

  • [2024-07-04 03:31:07]
  • 评测
  • [2024-03-24 17:55:59]
  • 提交

answer

#pragma GCC optimize("O3")
#include <iostream>
#include <vector>
#include <string>
#include <math.h>
#include <cmath>
#include <iomanip>
#include <cstdio>
#include <algorithm>
#include <numeric>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <deque>
#include <bitset>
#include <cstring>
#include <unordered_map>

using namespace std;
typedef int ll;

#define endl '\n'
typedef pair<ll, pair<ll, ll>> pll;

priority_queue<pll, vector<pll>, greater<pll>> q;
ll n, r, c;

void check(int x, int y, int d, vector<vector<ll>> &dist, vector<string> &a){
    if(x >= 1 && y >= 1 && x <= r && y <= c && d < dist[x][y] && a[x][y] == '.'){
        dist[x][y] = d;
        q.push({d, {x, y}});
    }
}

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    
    cin >> r >> c >> n;
    
    ll s1, s2, f1, f2;
    cin >> s1 >> s2 >> f1 >> f2;
    
    vector<string> a(r + 1);
    for(int i = 1; i <= r; i++){
        cin >> a[i];
        
        a[i] = "#" + a[i];
    }
    
    q.push({0, {s1, s2}});
    vector<vector<bool>> used(r + 1, vector<bool> (c + 1));
    vector<vector<ll>> dist(r + 1, vector<ll> (c + 1, 1e9));
    
    dist[s1][s2] = 0;
    
    while(!q.empty()){
        auto v = q.top();
        q.pop();
        
        int x = v.second.first, y = v.second.second;
        if(used[x][y])
            continue;
        
        if(x == f1 && y == f2)
            break;
        used[x][y] = 1;
        check(x - 1, y, v.first, dist, a);
        check(x + 1, y, v.first, dist, a);
        check(x, y - 1, v.first, dist, a);
        check(x, y + 1, v.first, dist, a);
        
        for(int x2 = max(1ll, x - n); x2 <= min(r, x + n); x2++){
            for(int y2 = max(1ll, y - n); y2 <= min(c, y + n); y2++){
                if(abs(x2 - x) < n || abs(y - y2) < n){
                    if(v.first + 1 < dist[x2][y2]){
                        dist[x2][y2] = v.first + 1;
                        q.push({v.first + 1, {x2, y2}});
                    }
                }
            }
        }
    }
    
    cout << dist[f1][f2] << endl;
    
    return 0;
}

详细

answer.code: In function ‘int main()’:
answer.code:75:25: error: no matching function for call to ‘max(long long int, int)’
   75 |         for(int x2 = max(1ll, x - n); x2 <= min(r, x + n); x2++){
      |                      ~~~^~~~~~~~~~~~
In file included from /usr/include/c++/13/string:51,
                 from /usr/include/c++/13/bits/locale_classes.h:40,
                 from /usr/include/c++/13/bits/ios_base.h:41,
                 from /usr/include/c++/13/ios:44,
                 from /usr/include/c++/13/ostream:40,
                 from /usr/include/c++/13/iostream:41,
                 from answer.code:2:
/usr/include/c++/13/bits/stl_algobase.h:257:5: note: candidate: ‘template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)’
  257 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/13/bits/stl_algobase.h:257:5: note:   template argument deduction/substitution failed:
answer.code:75:25: note:   deduced conflicting types for parameter ‘const _Tp’ (‘long long int’ and ‘int’)
   75 |         for(int x2 = max(1ll, x - n); x2 <= min(r, x + n); x2++){
      |                      ~~~^~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algobase.h:303:5: note: candidate: ‘template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)’
  303 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algobase.h:303:5: note:   template argument deduction/substitution failed:
answer.code:75:25: note:   deduced conflicting types for parameter ‘const _Tp’ (‘long long int’ and ‘int’)
   75 |         for(int x2 = max(1ll, x - n); x2 <= min(r, x + n); x2++){
      |                      ~~~^~~~~~~~~~~~
In file included from /usr/include/c++/13/algorithm:61,
                 from answer.code:9:
/usr/include/c++/13/bits/stl_algo.h:5795:5: note: candidate: ‘template<class _Tp> constexpr _Tp std::max(initializer_list<_Tp>)’
 5795 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5795:5: note:   template argument deduction/substitution failed:
answer.code:75:25: note:   mismatched types ‘std::initializer_list<_Tp>’ and ‘long long int’
   75 |         for(int x2 = max(1ll, x - n); x2 <= min(r, x + n); x2++){
      |                      ~~~^~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algo.h:5805:5: note: candidate: ‘template<class _Tp, class _Compare> constexpr _Tp std::max(initializer_list<_Tp>, _Compare)’
 5805 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5805:5: note:   template argument deduction/substitution failed:
answer.code:75:25: note:   mismatched types ‘std::initializer_list<_Tp>’ and ‘long long int’
   75 |         for(int x2 = max(1ll, x - n); x2 <= min(r, x + n); x2++){
      |                      ~~~^~~~~~~~~~~~
answer.code:76:29: error: no matching function for call to ‘max(long long int, int)’
   76 |             for(int y2 = max(1ll, y - n); y2 <= min(c, y + n); y2++){
      |                          ~~~^~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algobase.h:257:5: note: candidate: ‘template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)’
  257 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/13/bits/stl_algobase.h:257:5: note:   template argument deduction/substitution failed:
answer.code:76:29: note:   deduced conflicting types for parameter ‘const _Tp’ (‘long long int’ and ‘int’)
   76 |             for(int y2 = max(1ll, y - n); y2 <= min(c, y + n); y2++){
      |                          ~~~^~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algobase.h:303:5: note: candidate: ‘template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)’
  303 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algobase.h:303:5: note:   template argument deduction/substitution failed:
answer.code:76:29: note:   deduced conflicting types for parameter ‘const _Tp’ (‘long long int’ and ‘int’)
   76 |             for(int y2 = max(1ll, y - n); y2 <= min(c, y + n); y2++){
      |                          ~~~^~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algo.h:5795:5: note: candidate: ‘template<class _Tp> constexpr _Tp std::max(initializer_list<_Tp>)’
 5795 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5795:5: note:   template argument deduction/substitution failed:
answer.code:76:29: note:   mismatched types ‘std::initializer_list<_Tp>’ and ‘long long int’
   76 |             for(int y2 = max(1ll, y - n); y2 <= min(c, y + n); y2++){
      |                          ~~~^~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algo.h:5805:5: note: candidate: ‘template<class _Tp, class _Compare> constexpr _Tp std::max(initializer_list<_Tp>, _Compare)’
 5805 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5805:5: note: ...