`
kalviny
  • 浏览: 5551 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

Transformations

阅读更多
/*
ID: fykalv3
LANG: C
TASK: transform
 */
 
#include <stdio.h>
#include <string.h>

typedef char SQ[15][15];
int equal(SQ s1, SQ s2, int n);
int rotate(SQ square, SQ resault, int n);
int reflect(SQ square, SQ resault, int n);
int transform(SQ s1, SQ s2, int n);

int main()
{
	FILE *fin = fopen("transform.in", "r");
	FILE *fout = fopen("transform.out", "w");
	int n, i, j;
	SQ s1, s2;
	fscanf(fin, "%d", &n);
	for (i = 0; i < n; i++)
		fscanf(fin, "%s", s1[i]);
	for (i = 0; i < n; i++)
		fscanf(fin, "%s", s2[i]);
	fprintf(fout, "%d\n", transform(s1, s2, n));
	fclose(fin);
	fclose(fout);
	return 0;
}

int equal(SQ s1, SQ s2, int n)
{
	int i, j;
	for (i = 0; i < n; i++) {
		for (j = 0; j < n; j++) {
			if (s1[i][j] != s2[i][j])
				return 0;
		}
	}
	return 1;
}

int transform(SQ s1, SQ s2, int n)
{
	SQ s = {0}, sq = {0}, squ = {0}, squa = {0};
	rotate(s1, s, n);
	if (equal(s, s2, n))
		return 1;
	rotate(s, sq, n);
	if (equal(sq, s2, n))
		return 2;
	rotate(sq, squ, n);
	if (equal(squ, s2, n))
		return 3;
	reflect(s1, squa, n);
	if (equal(squa, s2, n))
		return 4;
	rotate(squa, s, n);
	if (equal(s, s2, n))
		return 5;
	rotate(s, sq, n);
	if (equal(sq, s2, n))
		return 5;
	rotate(sq, squ, n);
	if (equal(squ, s2, n))
		return 5;
	if (equal(s1, s2, n))
		return 6;
	return 7;
}

int reflect(SQ square, SQ resault, int n)
{
	int i, j, k = n / 2;
	for (i = 0; i < n; i++) {
		for (j = 0; j < k; j++) {
			resault[i][j] = square[i][n-j-1];
			resault[i][n-j-1] = square[i][j];
		}
	}
	k = (n - 1) / 2;
	if (n % 2) {
		for (i = 0; i < n; i++)
			resault[i][k] = square[i][k];
	}
	return 0;
}

int rotate(SQ square, SQ resault, int n)
{
	int i, j;
	for (i = 0; i < n; i++) {
		for (j = 0; j < n; j++) {
			resault[i][j] = square[n-j-1][i];
		}
	}
	return 0;
}



好麻烦,重写一遍过了,之前的代码出了问题,就是旋转和对称的地方注意下公式就行了
分享到:
评论

相关推荐

    coil-transformations.zip

    Coil Transformations 是一个针对 Android 平台的图像处理库,主要功能是提供一系列图像转换效果。这个库在 Android 应用开发中非常有用,因为它可以帮助开发者轻松实现图像的动态变换,提升用户体验。在这个名为 ...

    TRANSFORMATIONS AND ACTIONS .pdf

    在Spark中,算子是其核心概念之一,分为transformations和actions两种类型。 transformations是指对RDD(弹性分布式数据集)进行操作,生成新的RDD,但是并不会立即执行,直到遇到action操作。transformations可以...

    transformations‑2021.6.6.tar.gz

    标题中的"transformations-2021.6.6.tar.gz"表明这是一个Python库的离线安装包,采用的是tar.gz格式。这种格式是Linux和Unix系统中常用的压缩方式,它结合了tar(用于打包多个文件)和gzip(用于压缩)的功能。在...

    glide-transformations一个提供各种图像转换的安卓转换库.rar

    `glide-transformations` 是一个专门为 Android 应用程序设计的 Glide 图像加载库的扩展,它提供了丰富的图像转换功能。Glide 是 Google 推荐的一款高效、灵活的图片加载库,而 glide-transformations 则进一步增强...

    USACO题目Transformations(方块转换)及代码解析

    Transformations(方块转换)及其代码解析 Transformations(方块转换)是一种USACO题目,旨在解决将一个N x N的黑白瓦片图案转换成新的正方形图案的问题。该问题需要使用七种不同的转换方法来将原始图案转换成新的...

    Android代码-Glide-transformations

    开源项目地址:https://github.com/open-android/Glide-transformations PS:如果觉得文章太长,你也可观看该课程的视频,亲,里面还有高清,无码的福利喔 运行效果   爱生活,爱学习,更爱做代码的搬运工,分类查找更...

    Python库 | transformations-2019.1.1-cp27-cp27m-win_amd64.whl

    在本案例中,我们关注的是一个名为"transformations"的库,版本为2019.1.1。这个库特别为Python 2.7(cp27)编译,并且是针对Windows 64位(amd64)系统的。"cp27m"是Python 2.7的一个特定 ABI(应用程序二进制接口...

    coil-transformations,线圈的图像变换.zip

    Coil Transformations是一个开源项目,专注于图像处理中的线圈(CoIL)图像的变换技术。这个项目的核心在于提供一系列算法和工具,用于对线圈图像进行各种操作,以增强、分析或改变其特性。线圈图像通常由计算机视觉...

    Android代码-Picasso-transformations

    开源项目地址:https://github.com/open-android/Picasso-transformations PS:如果觉得文章太长,你也可观看该课程的视频,亲,里面还有高清,无码的福利喔 运行效果   爱生活,爱学习,更爱做代码的搬运工,分类查找...

    Graph Transformations and Model-Driven Engineering

    这本书的主题围绕图变换(Graph Transformations)和模型驱动工程(Model-Driven Engineering, MDA)两个重要领域,涵盖了这两个领域内的一些重要研究和应用。 模型驱动工程(MDA)是一种基于模型的方法,它专注于...

    Aggregated Residual Transformations for Deep Neural Networks.pdf

    论文标题为"Aggregated Residual Transformations for Deep Neural Networks",简而言之,它描述了一种新颖的网络架构设计方法,专门用于图像分类任务。这篇论文通过研究深度神经网络中的残差变换,提出了一种通过...

    glide-transformations

    【glide-transformations】是一个专为Android平台设计的图片处理库,它基于Glide库,扩展了更多的图像变换功能。Glide是Google推荐的一款高效、流畅的图片加载库,而glide-transformations则是Glide的一个插件,为...

    Learning Linear Transformations for Fast Arbitrary Style Transfer论文解读

    "Learning Linear Transformations for Fast Arbitrary Style Transfer"这篇论文提出了一种高效的方法,通过学习线性变换来实现快速的任意风格迁移。接下来,我们将深入探讨论文中的关键概念、方法和实现细节。 1. ...

    XSLT-Mastering.XML.Transformations

    XSLT(Extensible Stylesheet Language Transformations)是一种用于转换XML文档的语言。它允许开发者将一种格式的XML文档转换为另一种格式,或是将其转换为HTML、PDF等其他非XML格式。XSLT的强大之处在于其灵活性和...

    Android代码-glide-transformations

    Glide Transformations An Android transformation library providing a variety of image transformations for Glide. Please feel free to use this. Are you using Picasso or Fresco? Picasso ...

    Android代码-picasso-transformations

    Picasso Transformations An Android transformation library providing a variety of image transformations for Picasso. Please feel free to use this. Are you using Glide or Fresco? Glide ...

    Android-glide-transformations.zip

    Android-glide-transformations.zip,一个android转换库,为glide提供各种图像转换。,安卓系统是谷歌在2008年设计和制造的。操作系统主要写在爪哇,C和C 的核心组件。它是在linux内核之上构建的,具有安全性优势。

    Lie Groups for 2D and 3D Transformations

    This document derives useful formulae for working with the Lie groups that represent transformations in 2D and 3D space. A Lie group is a topological group that is also a smooth manifold, with some ...

    XSL Transformations (XSLT).rar_Transformations_XSLT CSharp_cshar

    XSLT,全称为eXtensible Stylesheet Language Transformations,是一种用于转换XML文档的语言。在IT领域,XSLT是处理XML数据的核心工具之一,它允许开发者将XML数据转换成其他格式,如HTML、PDF或者不同的XML结构,...

Global site tag (gtag.js) - Google Analytics