uva 512 Spreadsheet Tracking
来源:互联网 发布:ccd对位算法 编辑:程序博客网 时间:2024/06/06 02:47
这题修改了很多次,一直不能ac,直到引用改为指针传递才ac,无语了,uva不能使用引用
#include<iostream>#include<cstdio>#include <string>#include <cstring>#include <algorithm>#include <cmath>using namespace std;int r,c,n;struct Commod{ int r1,c1,r2,c2; char c[5000]; int a,x[10000];}cmd[10000];int simulate(int *r0,int *c0){ for(int i=0;i<n;i++) { if(cmd[i].c[0]=='E') { if(cmd[i].r1==*r0 && cmd[i].c1==*c0) { *r0=cmd[i].r2; *c0=cmd[i].c2; } else if(cmd[i].r2==*r0 && cmd[i].c2==*c0) { *r0=cmd[i].r1; *c0=cmd[i].c1; } } else{ int dr=0,dc=0; for(int j=0;j<cmd[i].a;j++) { int x=cmd[i].x[j]; if(cmd[i].c[0]=='I') { if(cmd[i].c[1]=='R' && x<=*r0) dr++; if(cmd[i].c[1]=='C' && x<=*c0) dc++; } else { if(cmd[i].c[1]=='R' && x==*r0) return 0; if(cmd[i].c[1]=='C' && x==*c0) return 0; if(cmd[i].c[1]=='R' && x<*r0) dr--; if(cmd[i].c[1]=='C' && x<*c0) dc--; } } *r0+=dr,*c0+=dc; } } return 1;}int main(){ int r0,c0,q,kase=0; while(scanf("%d%d",&r,&c)!=EOF) { if(r+c==0) break; cin>>n; for(int i=0;i<n;i++) { scanf("%s",cmd[i].c); if(cmd[i].c[0]=='E') scanf("%d%d%d%d",&cmd[i].r1,&cmd[i].c1,&cmd[i].r2,&cmd[i].c2); else { scanf("%d",&cmd[i].a); for(int j=0;j<cmd[i].a;j++) scanf("%d",&cmd[i].x[j]); } } if(kase) cout<<endl; printf("Spreadsheet #%d\n",++kase); cin>>q; while(q--) { scanf("%d%d",&r0,&c0); printf("Cell data in (%d,%d) ",r0,c0); if(!simulate(&r0,&c0)) cout<<"GONE"<<endl; else printf("moved to (%d,%d)\n",r0,c0); } } return 0;}
0 0
- UVA - 512 Spreadsheet Tracking
- Uva - 512 - Spreadsheet Tracking
- UVA - 512 Spreadsheet Tracking
- UVA-512 Spreadsheet Tracking
- UVa 512 Spreadsheet Tracking
- uva 512 Spreadsheet Tracking
- UVa 512 Spreadsheet Tracking
- UVa 512 Spreadsheet Tracking
- UVa 512 - Spreadsheet Tracking
- UVa 512 Spreadsheet Tracking
- 【水题】UVA 512 Spreadsheet Tracking
- 例题4-5 uva 512 - Spreadsheet Tracking
- UVa 512 - Spreadsheet Tracking (模拟)
- 紫书章四 Spreadsheet Tracking UVA
- 512 - Spreadsheet Tracking
- 512 - Spreadsheet Tracking
- 512 - Spreadsheet Tracking
- 512 - Spreadsheet Tracking
- [SSM] Spring mvc+ Spring+ Mybatis+ maven 搭建服务器
- 属性动画的初步认识
- 二叉树后序递归、非递归遍历
- 10 个 Redis 建议/技巧
- 值得程序员和设计师关注的微信公众号
- uva 512 Spreadsheet Tracking
- Given an array nums, write a function to move all 0's to the end of it while maintaining the relativ
- Sqoop安装与配置
- List集合
- Docker玩转Rhadoop
- flashback drop
- Linux Ctrl+C Ctrl+Z Ctrl+D区别
- css3盒布局
- C#单例模式的三种写法