Spreadsheet Tracking
来源:互联网 发布:恒生期货软件使用方法 编辑:程序博客网 时间:2024/05/22 00:47
问题类型:模拟,表格,增删改查。
03pie’s solution for [UVA-512]:
#include<bits/stdc++.h>//包含所有头文件using namespace std;#define ms(s) memset(s,0,sizeof(s))typedef unsigned long long ULL;typedef long long LL;const double PI = 3.141592653589;const int INF = 0x3fffffff;#define maxd 100#define BIG 10000int r,c,n,d[maxd][maxd],d2[maxd][maxd],ans[maxd][maxd],cols[maxd];void copy(char type,int p,int q){ if(type=='R') { for(int i=1;i<=c;i++) d[p][i]=d2[q][i]; }else{ for(int i=1;i<=r;i++) d[i][p]=d2[i][q]; }}void del(char type){ memcpy(d2,d,sizeof(d)); int cnt=type=='R'?r:c,cnt2=0; for(int i=1;i<=cnt;i++){ if(!cols[i]) copy(type,++cnt2,i); } if(type=='R') r=cnt2;else c=cnt2;}void ins(char type){ memcpy(d2,d,sizeof(d)); int cnt=type=='R'?r:c,cnt2=0; for(int i=1;i<=cnt;i++){ if(cols[i]) copy(type,++cnt2,0); copy(type,++cnt2,i); } if(type=='R') r=cnt2;else c=cnt2;}int main(){ // freopen("F://inp.txt","r",stdin); int r1,c1,r2,c2,q,kase=0; char cmd[10]; memset(d,0,sizeof(d)); while(scanf("%d%d%d",&r,&c,&n)==3&&r){ //int r0=r,c0=c; for(int i=1;i<=r;i++) for(int j=1;j<=c;j++) d[i][j]=i*BIG+j; while(n--){ scanf("%s",cmd); if(cmd[0]=='E'){ scanf("%d%d%d%d",&r1,&c1,&r2,&c2); swap(d[r1][c1],d[r2][c2]); }else{ int a,x; scanf("%d",&a); memset(cols,0,sizeof(cols)); for(int i=0;i<a;i++){scanf("%d",&x);cols[x]=1;} if(cmd[0]=='D')del(cmd[1]); else ins(cmd[1]); } } memset(ans,0,sizeof(ans)); for(int i=1;i<=r;i++) for(int j=1;j<=c;j++){ ans[d[i][j]/BIG][d[i][j]%BIG]=i*BIG+j; } if(kase>0) printf("\n"); printf("Spreadsheet #%d\n",++kase); scanf("%d",&q); while(q--){ scanf("%d%d",&r1,&c1); printf("Cell data in (%d,%d) ",r1,c1); if(ans[r1][c1]==0) printf("GONE\n"); else printf("moved to (%d,%d)\n",ans[r1][c1]/BIG,ans[r1][c1]%BIG); } } return 0;}
0 0
- Spreadsheet Tracking
- Spreadsheet Tracking
- Spreadsheet Tracking
- Spreadsheet Tracking
- UVa_512 - Spreadsheet Tracking
- 512 - Spreadsheet Tracking
- 512 - Spreadsheet Tracking
- UVA512 - Spreadsheet Tracking
- UVA - 512 Spreadsheet Tracking
- Uva - 512 - Spreadsheet Tracking
- UVA - 512 Spreadsheet Tracking
- UVA-512 Spreadsheet Tracking
- UVa512 - Spreadsheet Tracking
- UVa 512 Spreadsheet Tracking
- uva 512 Spreadsheet Tracking
- 512 - Spreadsheet Tracking
- UVa 512 Spreadsheet Tracking
- UVa 512 Spreadsheet Tracking
- 蓝桥 打印图形
- Material Design之RippleDrawable详解
- 【Linux init】systemd 服务单元管理
- 算法导论B树
- Python笔记-类和实例、继承和多态
- Spreadsheet Tracking
- Python爬虫之——爬取妹子图片
- # VMWARE上的 RHEL 7扩展lv
- Ubuntu系统下IPython Notebook的安装和远程访问配置
- Score UVA
- hdu 6020 MG loves apple //bc Round #93 1002
- Jmeter使用嵌套循环实现读取2个文件的参数来进行组合参数化
- 计算24点(Java)
- 两个数组求中位数的问题