一枚蒟蒻調題調了10坤分鐘。
第一,十年OI一場空,不開long long見祖宗。
第一次沒開long long,75分
評測記錄
代碼:
#include<bits/stdc++.h>
using namespace std;
#define int long long
char a[100],b[100],c[100];
int cnt1,cnt2;
void inT(int x){
int ans=0;
while(x){
int md=x%10;
ans=ans*10+md;
x/=10;
}
cout<<ans;
}
void floaT(int x,int y){
inT(x);
cout<<'.';
inT(y);
}
void fen(int x,int y){
inT(x);
cout<<'/';
inT(y);
}
void bai(int x){
inT(x);
cout<<'%';
}
signed main(){
int at=1;
cin>>a;
for (int i=0;i<strlen(a);i++){
if (a[i]=='.')at=2;
if (a[i]=='/')at=3;
if (a[i]=='%')at=4;
}
if (at==1){
inT(atoi(a));
}else if (at==2){
int flag=0;
for (int i=0;i<strlen(a);i++){
if (a[i]=='.'){
flag=1;
continue;
}
if (!flag){
b[cnt1++]=a[i];
}else{
c[cnt2++]=a[i];
}
}
floaT(atoi(b),atoi(c));
}else if (at==3){
int flag=0;
for (int i=0;i<strlen(a);i++){
if (a[i]=='/'){
flag=1;
continue;
}
if (!flag){
b[cnt1++]=a[i];
}else{
c[cnt2++]=a[i];
}
}
fen(atoi(b),atoi(c));
}else{
for (int i=0;i<strlen(a)-1;i++){
b[cnt1++]=a[i];
}
bai(atoi(b));
}
}
第二次開了long long,結果又發現數據範圍還是超了。 評測記錄
#include<bits/stdc++.h>
using namespace std;
#define int long long//就用這裡的define快速改了一下(主函數用了signed,不會被改動)
#define atoi atoll//同上(是字符數組轉整數的函數)
char a[100],b[100],c[100];
int cnt1,cnt2;
void inT(int x){
int ans=0;
while(x){
int md=x%10;
ans=ans*10+md;
x/=10;
}
cout<<ans;
}
void floaT(int x,int y){
inT(x);
cout<<'.';
inT(y);
}
void fen(int x,int y){
inT(x);
cout<<'/';
inT(y);
}
void bai(int x){
inT(x);
cout<<'%';
}
signed main(){
int at=1;
cin>>a;
for (int i=0;i<strlen(a);i++){
if (a[i]=='.')at=2;
if (a[i]=='/')at=3;
if (a[i]=='%')at=4;
}
if (at==1){
inT(atoi(a));
}else if (at==2){
int flag=0;
for (int i=0;i<strlen(a);i++){
if (a[i]=='.'){
flag=1;
continue;
}
if (!flag){
b[cnt1++]=a[i];
}else{
c[cnt2++]=a[i];
}
}
floaT(atoi(b),atoi(c));
}else if (at==3){
int flag=0;
for (int i=0;i<strlen(a);i++){
if (a[i]=='/'){
flag=1;
continue;
}
if (!flag){
b[cnt1++]=a[i];
}else{
c[cnt2++]=a[i];
}
}
fen(atoi(b),atoi(c));
}else{
for (int i=0;i<strlen(a)-1;i++){
b[cnt1++]=a[i];
}
bai(atoi(b));
}
}
最終衹能特殊判定如果超出long long範圍的,就用這篇題解(不要隨便看題解,先自己做哈)裡的方法做的整數部分特殊判定時的輸出方式(當然我沒看題解,我全AC之後才看的)。
哎呦,我的時間啊,我還要van 根申 和 屁股肉呢啊(自己查是啥個東西)