problemscpp
A collection of my answers to algorithm problems in c++.
静态 Public 成员函数 | 所有成员列表
acwing::acwing4204类 参考

#include <acwing.h>

静态 Public 成员函数

static int main (istream &, ostream &)
 

详细描述

在文件 acwing.h77 行定义.

成员函数说明

◆ main()

int acwing::acwing4204::main ( istream &  cin,
ostream &  cout 
)
static

在文件 acwing.cpp168 行定义.

168 {
169 int n;
170 const int N = 1010;
171 auto *g = new int *[N];
172 for(int i = 0; i < N; i++) {
173 g[i] = new int[N];
174 for(int j = 0; j < N; j++) {
175 g[i][j] = 0;
176 }
177 }
178 cin >> n;
179 for(int i = 1; i <= n; i++) {
180 g[1][i] = i - 1;
181 g[i][1] = i - 1;
182 }
183 for(int i = 2; i < n; i++) {
184 for(int j = 2; j < n; j++) {
185 if(i == j) {
186 g[i][j] = 0;//对角线为0
187 } else {
188 if(g[i][j - 1] == 0) {
189 //在0后面一格
190 g[i][j] = g[i - 1][j] + 1;//上面一格的值+1
191 } else {
192 //否则
193 g[i][j] = g[i][j - 1] + 1;//前面一格的值+1
194 }
195 if(g[i][j] == n) {
196 //达到上限
197 g[i][j] = 1;//回归到1
198 }
199 }
200 }
201 }
202 for(int i = 1; i < n; i++) {
203 set<int> s;
204 for(int j = 1; j < n; j++) {
205 s.insert(g[i][j]);
206 }
207 for(int j = 0; j < n; j++) {
208 if(!s.contains(j)) {
209 g[i][n] = g[n][i] = j;//补最后一列和最后一行的值
210 }
211 }
212 }
213
214 //输出
215 for(int i = 1; i <= n; i++) {
216 for(int j = 1; j <= n; j++) {
217 cout << g[i][j];
218 if(j != n) {
219 cout << " ";
220 }
221 }
222 if(i != n) {
223 cout << endl;
224 }
225 }
226 for(int i = 0; i < N; i++) {
227 delete[] g[i];
228 }
229 delete[] g;
230 return 0;
231 }
const int N
Definition: acwing.h:146

引用了 acwing::acwing2019::N.

被这些函数引用 acwing::TEST().


该类的文档由以下文件生成: