Я пытался решить проблему здесь - https://www.codechef.com/APRIL19B/problems/FENCE и инициализировал массив в 0, но когда я пытаюсь получить доступ к значению в arr [0] [4] с n = 4 и m = 4, это печатает значение мусора.
Я пытался инициализировать, используя векторное мышление. Я допускаю некоторую ошибку при инициализации массива, он работает для примера тестового примера, но все равно дает ошибку сегментации.
Вот мой код -
#include<bits/stdc++.h>
#include <iostream>
using namespace std;
int main() {
// your code goes here
int t;
cin>>t;
while(t--){
long long n,m,k,res=0;
cin>>n>>m>>k;
//vector<vector<long long>> arr(n+2,vector<long long>(m+2,0));
long long arr[n+2][m+2]={0};
long long vec[k][k];
for(unsigned int it=0;it<k;it++){
int t1,t2;
cin>>t1>>t2;
arr[t1][t2]=1;
vec[it][0]=t1;
vec[it][1]=t2;
}
cout<<"values:"<<arr[1][4]<<endl;
for(unsigned int itr =0;itr<k;itr++){
int j = vec[itr][0];
int i = vec[itr][1];
//cout<<i<<" "<<j<<endl;
res+=4-(arr[i-1][j]+arr[i+1][j]+arr[i][j-1]+arr[i][j+1]);
}
cout<<res<<endl;
}
return 0;
}
Edit:
Пример ввода:
Example Input
2
4 4 9
1 4
2 1
2 2
2 3
3 1
3 3
4 1
4 2
4 3
4 4 1
1 1
Example Output
20
4
Ограничения:
1≤T≤10
1≤N,M≤10^9
1≤K≤10^5
1≤r≤N
1≤c≤M
the cells containing plants are pairwise distinct
Я ожидаю, что результат будет для первого теста 20, но получу значение мусора.