1.2.2 Transformations

2024-03-15 10:32
文章标签 transformations 1.2

本文主要是介绍1.2.2 Transformations,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  刚开始一看题目, 看起来很难的样子, 于是就先放过了;等我把其他题做完后, 我仔细看了下题目, 才发现, 这个题目原来这嘛水 ……

#include<iostream>
#include<fstream>
#include<cstring>
using namespace std;
int n;
void Spin( char map[][11], char str[][11], int num)//旋转90度 
{int i, j;for(i=0; i<n; i++)for(j=0; j<n; j++){str[j][n-1-i]=map[i][j];	}
}
void Turn(char map[][11], char str[][11])//水平翻转
{int i, j;for(i=0; i<n; i++)for(j=0; j<n; j++){str[i][n-1-j]=map[i][j];	}
} 
bool Judge(char aim[][11], char str[][11])//判断是否相等, 相等返回0,否则返回1
{int i, j;for(i=0; i<n; i++)for(j=0; j<n; j++){if( aim[i][j]!=str[i][j])return 1;}return 0;
}int main()
{ifstream fin("transform.in");  ofstream fout("transform.out");  char map[11][11], aim[11][11], str1[11][11], str2[11][11], str3[11][11], str4[11][11];int  flag=1, i, ans;fin>>n;for(i=0; i<n; i++)//	cin>>map[i];fin>>map[i];for(i=0; i<n; i++)//cin>>aim[i];fin>>aim[i];Spin(map, str1);//旋转90度flag=Judge(aim, str1);if( flag==0 )  ans=1;	else{Spin( str1, str2);//再旋转90度flag=Judge(aim, str2);if( flag==0 )	ans=2;else{Spin(str2, str3);//再旋转90度flag=Judge(aim, str3);if( flag==0 )	ans=3;	else{Turn( map, str4 );//水平翻转flag=Judge(aim, str4);if( flag==0 )	ans=4;	else{ Spin(str4, str1);//旋转90度flag=Judge(aim, str1);if( flag==0 )  ans=5;	else{Spin(str1, str2);//再旋转90度flag=Judge(aim, str2);if( flag==0 )	ans=5;	else{Spin(str2, str3);//再旋转90度flag=Judge(aim, str3);if( flag==0 )   ans=5;	else{if( Judge(aim, map)==0 )ans=6;elseans=7;}}}}}}}	//cout<<ans<<endl;fout<<ans<<endl;   
} 


这篇关于1.2.2 Transformations的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/811665

相关文章

usaco 1.2 Palindromic Squares(进制转化)

考察进制转化 注意一些细节就可以了 直接上代码: /*ID: who jayLANG: C++TASK: palsquare*/#include<stdio.h>int x[20],xlen,y[20],ylen,B;void change(int n){int m;m=n;xlen=0;while(m){x[++xlen]=m%B;m/=B;}m=n*n;ylen=0;whi

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

usaco 1.2 Milking Cows(类hash表)

第一种思路被卡了时间 到第二种思路的时候就觉得第一种思路太坑爹了 代码又长又臭还超时!! 第一种思路:我不知道为什么最后一组数据会被卡 超时超了0.2s左右 大概想法是 快排加一个遍历 先将开始时间按升序排好 然后开始遍历比较 1 若 下一个开始beg[i] 小于 tem_end 则说明本组数据与上组数据是在连续的一个区间 取max( ed[i],tem_end ) 2 反之 这个

usaco 1.2 Transformations(模拟)

我的做法就是一个一个情况枚举出来 注意计算公式: ( 变换后的矩阵记为C) 顺时针旋转90°:C[i] [j]=A[n-j-1] [i] (旋转180°和270° 可以多转几个九十度来推) 对称:C[i] [n-j-1]=A[i] [j] 代码有点长 。。。 /*ID: who jayLANG: C++TASK: transform*/#include<

【渗透测试专栏】1.2认证和授权类-越权访问(水平/垂直越权)

该系列专栏旨在让漏洞检测变得更简单,只用于学习用途 靶机环境请看专栏前言专栏前言-WooYun漏洞库环境搭建-CSDN博客 目录 该系列专栏旨在让漏洞检测变得更简单,只用于学习用途 一、漏洞描述 1、水平越权 2、垂直越权 二、漏洞级别 三、漏洞检测方法 漏洞修复 一、漏洞描述 偏业务漏洞 1、水平越权 水平越权指的是在同一权限级别下,用户可以访问其他用户的资源或

如何在算家云搭建OpenSora 1.2(文本生成视频)

一. OpenSora 1.2简介 1. 技术特点 高清视频生成 : OpenSora 1.2 在 720p 高清文生视频质量和生成时长上取得了突破性进展,支持无缝产出任意风格的高质量短片。通过引入视频压缩网络(VAE)和更优的扩散模型算法,显著提升了视频生成的质量和效率。 视频压缩网络 : OpenSora 团队提出了一个创新的视频压缩网络,该网络在空间和时间两个维度上分别进行压缩。首

1.2 Java基础多线程面试题

21、介绍下进程和线程的关系 进程和线程是操作系统中两种重要的执行单元,它们在程序执行中扮演着不同的角色,但又密切相关。 进程 (Process) 定义: 进程是操作系统中独立运行的程序实例。每个进程拥有自己的地址空间、资源(如内存、文件描述符)和执行权限。一个进程可以包含多个线程。特点: 独立性: 进程是独立的执行单元,彼此之间的内存和资源是隔离的,这种隔离性增强了系统的稳定性和安全性。开

1.2 SQL注入之MYSQL语句语法

SQL注入之数据库概述 数据库就是一个存储数据的仓库,数据库是以一定方式存储在一起,能与多个用户共享,具有尽可能小的冗余,与应用程序彼此独立的数据集合。 关系型数据库 关系型数据库,存储的格式可以直观地反映实体间的关系,和常见的表格比较相似 关系型数据库中表与表之间有很多复杂的关联关系的 常见的关系型数据库有MySQL,Orcale,PostgreSQL , SQL Server等。

Hyperion 11.1.1.2 迁移步骤(转)

1.支持迁移的产品 产品代码    产品名称roles角色要求HUB Shared ServicesLCM AdministratorLCM 管理员HREGoracle's Hyperion Shared Services RegistryLCM AdministratorLCM 管理员ESBAPPEssbaseLCM Administrator Server Access Calc Dat

1.2金融市场的地图

我们刚刚领略了量化交易的魔力,现在让我们打开一张神秘的地图,探索金融市场的未知领域。 股票市场:股份有限公司的股权证明 想象一下,你走进了一家热闹非凡的“股份有限公司”。在这里,每一张股票都是一张特别的会员卡,让你成为公司的小老板。你拥有的股份越多,你在公司里说话的分量就越重。如果公司赚钱了,你就能分到红利;如果公司的名声越来越好,你的会员卡——也就是股票,也会随之升值。 期货市场:未来的约