第四周第五天

76最大效益

#include <bits/stdc++.h>

using namespace std;

void whetheradd(int arr[][5],int flag[][5],int i,int j,int &total){

if((arr[i][j]>=arr[i][0]||flag[i][0]==1)&&(arr[i][j]>=arr[i][1]||flag[i][1]==1)&&(arr[i][j]>=arr[i][2]||flag[i][2]==1)

&&(arr[i][j]>=arr[i][3]||flag[i][3]==1)&&(arr[i][j]>=arr[i][4]||flag[i][4]==1)){

if((arr[i][j]>=arr[0][j]||flag[0][j]==1)&&(arr[i][j]>=arr[1][j]||flag[1][j]==1)&&(arr[i][j]>=arr[2][j]||flag[2][j]==1)&&

(arr[i][j]>=arr[3][j]||flag[3][j]==1)&&(arr[i][j]>=arr[4][j]||flag[4][j]==1)){

total += arr[i][j];

flag[i][0]=1;

flag[i][1]=1;

flag[i][2]=1;

flag[i][3]=1;

flag[i][4]=1;

flag[0][j]=1;

flag[1][j]=1;

flag[2][j]=1;

flag[3][j]=1;

flag[4][j]=1;

}

}

}

bool check(int flag[][5]){

for(int i=0;i<5;i++){

for(int j=0;j<5;j++){

if(flag[i][j]==0){

return false;

}

}

}

return true;

}

int main(){

int arr[5][5];

while(scanf("%d",&arr[0][0])!=EOF){

for(int i=0;i<5;i++){

for(int j=0;j<5;j++){

if(i==0&&j==0){

continue;

}

scanf("%d",&arr[i][j]);

}

}

int flag[5][5];

for(int i=0;i<5;i++){

for(int j=0;j<5;j++){

flag[i][j]=0;

}

}

int total=0;

while(!check(flag)){

for(int i=0;i<5;i++){

for(int j=0;j<5;j++){

if(flag[i][j]==0){

whetheradd(arr,flag,i,j,total);

}

}

}

}

printf("%d\n",total);

}

}

77螺旋方阵

#include <bits/stdc++.h>

using namespace std;

void right(int arr[][101], int i, int j, int &count, int edge);

void down(int arr[][101], int i, int j, int &count, int edge);

void left(int arr[][101], int i, int j, int &count, int edge);

void up(int arr[][101], int i, int j, int &count, int edge);

void right(int arr[][101],int i,int j,int &count,int edge){

if(count+1 >edge*edge){

return;

}

if(i>=edge||j>=edge||i<0||j<0||arr[i][j]!=0){

down(arr,i+1,j-1,count,edge);

return;

}

count++;

arr[i][j]=count;

right(arr,i,j+1,count,edge);

}

void down(int arr[][101],int i,int j,int &count,int edge){

if(count+1 >edge*edge){

return;

}

if(i>=edge||j>=edge||i<0||j<0||arr[i][j]!=0){

left(arr,i-1,j-1,count,edge);

return;

}

count++;

arr[i][j]=count;

down(arr,i+1,j,count,edge);

}

void left(int arr[][101],int i,int j,int &count,int edge){

if(count+1 >edge*edge){

return;

}

if(i>=edge||j>=edge||i<0||j<0||arr[i][j]!=0){

up(arr,i-1,j+1,count,edge);

return;

}

count++;

arr[i][j]=count;

left(arr,i,j-1,count,edge);

}

void up(int arr[][101],int i,int j,int &count,int edge){

if(count+1 >edge*edge){

return;

}

if(i>=edge||j>=edge||i<0||j<0||arr[i][j]!=0){

right(arr,i+1,j+1,count,edge);

return;

}

count++;

arr[i][j]=count;

up(arr,i-1,j,count,edge);

}

int main(){

int edge;

while(scanf("%d",&edge)!=EOF){

int arr[edge][101];

for(int i=0;i<edge;i++){

for(int j=0;j<edge;j++){

arr[i][j]=0;

}

}

int count=0;

right(arr,0,0,count,edge);

for(int i=0;i<edge;i++){

for(int j=0;j<edge;j++){

if(j!=edge-1) printf("%d ",arr[i][j]);

else printf("%d",arr[i][j]);

}

printf("\n");

}

printf("\n");

}

}

78方块转换

#include <bits/stdc++.h>

using namespace std;

bool check1(char arr[][100],char arr2[][100],int edge){

for(int i=0;i<edge;i++){

for(int j=0;j<edge;j++){

if(arr[i][j]!=arr2[j][edge-i-1]){

return false;

}

}

}

return true;

}

bool check2(char arr[][100],char arr2[][100],int edge){

for(int i=0;i<edge;i++){

for(int j=0;j<edge;j++){

if(arr[i][j]!=arr2[edge-1-i][edge-1-j]){

return false;

}

}

}

return true;

}

bool check3(char arr[][100],char arr2[][100],int edge){

for(int i=0;i<edge;i++){

for(int j=0;j<edge;j++){

if(arr[i][j]!=arr2[2-j][i]){

return false;

}

}

}

return true;

}

bool check4(char arr[][100],char arr2[][100],int edge){

for(int i=0;i<edge;i++){

for(int j=0;j<edge;j++){

if(arr[i][j]!=arr2[i][edge-1-j]){

return false;

}

}

}

return true;

}

bool check5(char arr[][100],char arr2[][100],int edge){

char arr3[edge][100];

for(int i=0;i<edge;i++){

for(int j=0;j<edge;j++){

arr3[i][j]=arr[i][edge-1-j];

}

}

return check1(arr3,arr2,edge)||check2(arr3,arr2,edge)||check3(arr3,arr2,edge);

}

bool check6(char arr[][100],char arr2[][100],int edge){

for(int i=0;i<edge;i++){

for(int j=0;j<edge;j++){

if(arr[i][j]!=arr2[i][j]){

return false;

}

}

}

return true;

}

int main() {

int edge;

scanf("%d",&edge);

char arr[edge][100]; // 初始化为全0(空字符)

for(int i=0;i<edge;i++){

char input[60]; // 临时存储输入的字符串

scanf("%s", input); // 输入---

for(int j=0;j<edge;j++){

arr[i][j] = input[j];

}

}

char arr2[edge][100];

for(int i=0;i<edge;i++){

char input[60]; // 临时存储输入的字符串

scanf("%s", input); // 输入---

for(int j=0;j<edge;j++){

arr2[i][j] = input[j];

}

}

if(check1(arr,arr2,edge)){

printf("1");

return 0;

}else if(check2(arr,arr2,edge)){

printf("2");

return 0;

}else if(check3(arr,arr2,edge)){

printf("3");

return 0;

}else if(check4(arr,arr2,edge)){

printf("4");

return 0;

}else if(check5(arr,arr2,edge)){

printf("5");

}else if(check6(arr,arr2,edge)){

printf("6");

}else{

printf("7");

}

return 0;

}

物联网已被建议用于住宅、商业、工业和政府环境中的智能建筑建设。智能建筑可以是购物中心、住宅、医院或高层办公楼。智能建筑需要对供暖、空调、照明和环境变化进行监测和调节。他们可以监督建筑安全、灭火和电梯运行。智能建筑技术侧重于为建筑物带来更详细的监测和传感"意识"。

计算机是一种电子设备,可以接收一组指令,然后通过对数值数据进行计算或操纵其他形式的信息来执行该程序。

现代高科技世界的出现离不开计算机的发展。不同类型和大小的计算机在整个社会中用于存储和处理数据,从秘密的政府文件到银行交易再到私人家庭账户。计算机通过自动化技术开辟了制造业的新时代,并增强了现代通信系统。它们是几乎所有研究和应用技术领域的重要工具,从构建宇宙模型到制作明天的天气报告,它们的使用本身就开辟了新的猜测领域。数据库服务和计算机网络提供了各种各样的信息来源"。同样的先进技术也可能侵犯个人和商业隐私。计算机犯罪已成为现代技术价格中的众多风险之一。

相关推荐
重生之后端学习2 小时前
98. 验证二叉搜索树
java·数据结构·后端·算法·职场和发展
菜鸡儿齐2 小时前
leetcode-移动零
数据结构·算法·leetcode
紫陌涵光2 小时前
54. 替换数字(第八期模拟笔试)
数据结构·c++·算法
TracyCoder1232 小时前
LeetCode Hot100(53/100)——739. 每日温度
算法·leetcode·职场和发展
_Twink1e2 小时前
[算法竞赛]二、链表
数据结构·算法·链表
民乐团扒谱机2 小时前
【读论文】引力与惯性的起源:从全息原理到牛顿定律与爱因斯坦方程
算法·量子力学··万有引力·爱因斯坦方程·全息原理·牛顿定律
努力学算法的蒟蒻2 小时前
day84(2.13)——leetcode面试经典150
算法·leetcode·面试
@––––––2 小时前
力扣hot100—系列8-回溯算法
javascript·算法·leetcode
!停2 小时前
数据结构二叉树—堆(2)&链式结构(上)
数据结构·算法