C++ 中用于检查是否可以在圆中连接盒子的查询
在本文中,我们将讨论一个程序,用于查找查询以检查是否可以在圆中连接盒子。
为此,我们将提供一个从 1 运行到 n 的圆形盒子。我们的任务是查找在不与先前杆交叉的情况下,盒子 i 是否可以通过一根杆连接到盒子 j。
示例
#include <bits/stdc++.h>
using namespace std;
//checking if making a circle from boxes is possible
void isPossible(int n, int q, int queryi[], int queryj[]) {
int arr[50];
for (int i = 0; i <= n; i++)
arr[i] = 0;
for (int k = 0; k < q; k++) {
int check = 0;
if (queryj[k] < queryi[k]) {
int temp = queryi[k];
queryi[k] = queryj[k];
queryj[k] = temp;
}
if (arr[queryi[k]] != 0 || arr[queryj[k]] != 0)
check = 1;
else if (queryi[k] == queryj[k])
check = 1;
else {
for (int i = 1; i < queryi[k]; i++) {
if (arr[i] != 0 && arr[i] < queryj[k] && queryi[k] < arr[i]) {
check = 1;
break;
}
}
if (check == 0) {
for (int i = queryi[k] + 1; i < queryj[k]; i++) {
if (arr[i] != 0 && arr[i] > queryj[k]) {
check = 1;
break;
}
}
}
}
if (check == 0) {
cout << "Possible" << endl;
arr[queryi[k]] = queryj[k];
arr[queryj[k]] = queryi[k];
}
else
cout << "Not Possible" << endl;
}
}
int main() {
int size = 5;
int q = 2;
int queryi[] = { 3, 5 };
int queryj[] = { 1, 4 };
isPossible(size, q, queryi, queryj);
return 0;
}输出
Possible Possible
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP