首页 > 代码库 > Codeforces Beta Round #1 B. Spreadsheets
Codeforces Beta Round #1 B. Spreadsheets
Codeblocks坏掉了,我不知道该怎么修,只能过两天重装系统了。
没办法。这个题是用Java写的,代码风格不好不要骂我~~
题目大意:
Excel表格那种坐标系统,和正常的坐标系统。用代码实现转换。
就是模拟题啊,代码量比较小。
下面是代码:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); int t = cin.nextInt(),temp; while(t-->0) { String s = cin.next(); int div=26; if(s.charAt(0)=='R'&&s.charAt(1)>='0'&&s.charAt(1)<='9') { int i; for(i=0;i<s.length();i++) { if(s.charAt(i)=='C')break; } if(i==s.length()) { for(i=0;i<s.length();i++) { if(s.charAt(i)>='0'&&s.charAt(i)<='9')break; } int b=1; temp=0; for(int j=i-1;j>=0;j--) { temp+=(s.charAt(j)-'A'+1)*b; b*=26; } String num=s.substring(i,s.length()); System.out.println("R"+num+"C"+temp); continue; } String num=s.substring(i+1,s.length()); temp=Integer.valueOf(num); int flat=0; num=""; while(temp>0) { if(temp%div==0) { num+="Z"; temp-=div; } else { int x=temp%div; x/=(div/26); x--; char c =(char) x; c+='A'; num+=String.valueOf(c); temp-=temp%div; } div*=26; } for(int j=num.length()-1;j>=0;j--) { System.out.print(num.charAt(j)); } num=s.substring(1,i); System.out.println(num); } else { int i; for(i=0;i<s.length();i++) { if(s.charAt(i)>='0'&&s.charAt(i)<='9')break; } int b=1; temp=0; for(int j=i-1;j>=0;j--) { temp+=(s.charAt(j)-'A'+1)*b; b*=26; } String num=s.substring(i,s.length()); System.out.println("R"+num+"C"+temp); } } cin.close(); } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。