USACO section1.2 Transformation
/*
ID: vincent63
LANG: C
TASK: transform
*/
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
static char a[][];
static char b[][];
static char temp[][];
static char temp2[][];
static int n;
//return 1 if can be done;
//return 0,if cant be done;
//
int first_tran(){
int ret=;
int i,j; for(i=;i<n;i++){
for(j=;j<n;j++){
temp2[j][n--i]=temp[i][j];
if(a[i][j]!=b[j][n--i]){
ret=;
//printf("not match (%d,%d) %c (%d,%d) %c\n",i,j,a[i][j],j,n-1-i,b[j][n-i]);
}
}
}
return ret;
}
//
int second_tran(){
int ret=;
int i,j; for(i=;i<n;i++){
for(j=;j<n;j++){
temp2[n--i][n--j]=temp[i][j];
if(a[i][j]!=b[n--i][n--j]){
ret=;
//printf("not match (%d,%d) %c (%d,%d) %c\n",i,j,a[i][j],n-1-i,n-1-j,b[n-1-i][n-1-j]);
}
}
}
return ret;
}
//
int third_tran(){
int ret=;
int i,j; for(i=;i<n;i++){
for(j=;j<n;j++){
temp2[n--j][i]=temp[i][j];
if(a[i][j]!=b[n--j][i]){
ret=;
//printf("not match (%d,%d) %c (%d,%d) %c\n",i,j,a[i][j],n-1-j,i,b[n-1-j][i]);
}
}
}
return ret;
} //mirror
int fouth_tran(){
int ret=;
int i,j; for(i=;i<n;i++){
for(j=;j<n;j++){
temp[i][n--j]=a[i][j];
if(a[i][j]!=b[i][n--j]){
ret=;
//printf("not match (%d,%d) %c (%d,%d) %c\n",i,j,a[i][j],i,n-1-j,b[i][n-1-j]);
}
}
}
return ret;
}
int is_equal(){
int ret=;
int i,j; for(i=;i<n;i++){
for(j=;j<n;j++){
if(temp2[i][j]!=b[i][j]){
ret=;
//printf("not match (%d,%d) %c (%d,%d) %c\n",i,j,a[i][j],i,j,b[i][j]);
}
}
}
return ret;
}
//combine
int fifth_tran(){
int i,j;
fouth_tran();
first_tran();
if(is_equal()){
return ;
} printf("\n");
for(i=;i<n;i++){
for(j=;j<n;j++){
printf("%c",temp2[i][j]);
}
printf("\n");
} fouth_tran();
second_tran();
if(is_equal()){
return ;
}
printf("\n");
for(i=;i<n;i++){
for(j=;j<n;j++){
printf("%c",temp2[i][j]);
}
printf("\n");
} fouth_tran();
third_tran();
if(is_equal()){
return ;
}
printf("\n");
for(i=;i<n;i++){
for(j=;j<n;j++){
printf("%c",temp2[i][j]);
}
printf("\n");
} return ;
}
//no change
int sixth_tran(){
int ret=;
int i,j; for(i=;i<n;i++){
for(j=;j<n;j++){
if(a[i][j]!=b[i][j]){
ret=;
//printf("not match (%d,%d) %c (%d,%d) %c\n",i,j,a[i][j],i,j,b[i][j]);
}
}
}
return ret;
}
int test_tran(){
if(first_tran()){
return ;
}else if(second_tran()){
return ;
}else if(third_tran()){
return ;
}else if(fouth_tran()){
return ;
}else if(fifth_tran()){
return ;
}else if(sixth_tran()){
return ;
}
return ;
} int main () {
FILE *fin = fopen ("transform.in", "r");
FILE *fout = fopen ("transform.out", "w"); int i,j,ret;
char buf[];
char buf2[]; fgets(buf,,fin);
n=atoi(buf); for(i=;i<n;i++){
fgets(buf2,,fin);
strcpy(a[i],buf2);
}
for(i=;i<n;i++){
fgets(buf2,,fin);
strcpy(b[i],buf2);
} for(i=;i<n;i++){
for(j=;j<n;j++){
printf("%c",a[i][j]);
}
printf("\n");
}
for(i=;i<n;i++){
for(j=;j<n;j++){
printf("%c",b[i][j]);
}
printf("\n");
} ret=test_tran(); char res[];
sprintf(res,"%d\n",ret);
fputs(res,fout);
printf("%d",ret);
return ;
}
USACO section1.2 Transformation的更多相关文章
- USACO Section1.2
section1.1主要包括四道题和两个编程知识介绍.下面将对这6个部分内容进行学习. Your Ride Is Here 这道题没什么难度,读懂题目意思就行:把两个字符串按照题目要求转换成数字,然后 ...
- USACO Section1.3
section1.2主要包括5道题和1个编程知识介绍.下面对这6部分内容进行学习. Complete Search 这个翻译成枚举搜索或者穷举搜索.主要用于当写代码时间不够用而且不用考虑程序的效率问题 ...
- USACO Section1.1
本系列博客主要学习和记录USACO的相关代码和总结,附上我的github地址. 什么是USACO USACO全称是The USA Computing Olympiad,主要目的是从美国高中生中选出代码 ...
- USACO Section1.5 Prime Palindromes 解题报告
pprime解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...
- USACO Section1.4 Mother's Milk 解题报告
milk3解题报告 —— icedream61 博客园(转载请注明出处)---------------------------------------------------------------- ...
- USACO Section1.3 Wormholes 解题报告
wormhole解题报告 —— icedream61 博客园(转载请注明出处)------------------------------------------------------------- ...
- USACO Section1.2 Name That Number 解题报告
namenum解题报告 —— icedream61 博客园(转载请注明出处)-------------------------------------------------------------- ...
- USACO Section1.1 Friday the Thirteenth 解题报告
friday解题报告 —— icedream61 博客园(转载请注明出处) -------------------------------------------------------------- ...
- USACO section1.1 Broken Necklace
/* ID: vincent63 LANG: C TASK: beads */ #include <stdio.h> #include<stdlib.h> #include&l ...
随机推荐
- 重新想象 Windows 8 Store Apps (48) - 多线程之其他辅助类: SpinWait, SpinLock, Volatile, SynchronizationContext, CoreDispatcher, ThreadLocal, ThreadStaticAttribute
[源码下载] 重新想象 Windows 8 Store Apps (48) - 多线程之其他辅助类: SpinWait, SpinLock, Volatile, SynchronizationCont ...
- 【转】RBAC权限管理
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...
- [moka同学笔记]yii2.0 dropdownlist的简单使用(一)
1.controller控制中 $modelCountrytelCode = CountryTelCode::find()->orderBy('id DESC')->all(); $tel ...
- php表单中如何获取单选按钮与复选按钮的值
php代码中获取表单中单选按钮的值:(单选按钮只能让我们选择一个,这里有一个"checked"属性,这是用来默认选取的,我们每次刷新我们的页面时就默认为这个值.) 例:<fo ...
- winform(多窗体、菜单和工具栏)
一.多窗体 1.哪个是主窗体 利用From1的button将From2打开 private void button1_Click(object sender, EventArgs e) { Form2 ...
- Bootstrap 我的学习记录3 导航条理解
以下理论内容copy自Bootstrap中文网 (一个不错的bootstrap学习网站) 导航条 默认样式的导航条 导航条是在您的应用或网站中作为导航页头的响应式基础组件.它们在移动设备上可以折叠(并 ...
- English Training Material - 04
Inviting What kinds of social activities in your city could be appropriate ways of entertaining visi ...
- android 类ios actionsheet效果
1.http://blog.csdn.net/zhaoxy_thu/article/details/17733389 2. https://github.com/ojhariddhish/action ...
- 一个基于Myeclipse开发的Java打地鼠小游戏(Appletcation)
package javaes.zixue.wangshang.daima; 2 3 import java.awt.Cursor; import java.awt.Image; import java ...
- runtime之消息转发
前言 在上一篇文章中我们初尝了runtime的黑魔法,可以在程序编译阶段就获取到成员变量的名字,特性以及动态的给对象增加属性等等,在接下来中我们进一步了解OC的消息发送机制.如果之前没接触过runti ...