NC207439. 电竞希金斯
描述
输入描述
每个测试点仅包含一组输入数据。
仅一行空格隔开的三个整数
其中a和b不会同时等于0
输出描述
一行,按照顺序输出经过的象限。
如果直线不经过任何象限,请输出"non"。
示例1
输入:
1 2 3
输出:
2 3 4
C(clang 3.9) 解法, 执行用时: 2ms, 内存消耗: 488K, 提交时间: 2020-06-03 20:57:56
#include<stdio.h> main() { int a,b,c; scanf("%d %d %d",&a,&b,&c); if(a!=0&&b!=0) { if(c==0) { if(a*b>0) printf("2 4"); else printf("1 3"); } else { if(a*b>0&&c*b<0) printf("1 2 4"); if(a*b>0&&c*b>0) printf("2 3 4"); if(a*b<0&&c*b<0) printf("1 2 3"); if(a*b<0&&c*b>0) printf("1 3 4"); } } else { if(a==0) { if(c==0) printf("non"); else if(c*b>0) printf("3 4"); else printf("1 2"); } else { if(c==0) printf("non"); else if(c*a>0) printf("2 3"); else printf("1 4"); } } }
C++14(g++5.4) 解法, 执行用时: 3ms, 内存消耗: 496K, 提交时间: 2020-05-30 13:33:28
#include<bits/stdc++.h> using namespace std; int main() { int a,b,c; while(cin>>a>>b>>c){ // cin>>a>>b>>c; if(b==0) { if(c==0) printf("non"); if(a*c>0) printf("2 3"); if(a*c<0) printf("1 4"); } else if(c==0) { if(b*a>0) printf("2 4"); if(b*a<0) printf("1 3"); if(b*a==0) printf("non"); } else if(c*b<0) { printf("1 2"); if(a*b<0) printf(" 3"); if(a*b>0) printf(" 4"); } else if(c*b>0) { if(a*b<0) printf("1 "); if(a*b>0) printf("2 "); printf("3 4"); } printf("\n"); } }
C++11(clang++ 3.9) 解法, 执行用时: 4ms, 内存消耗: 504K, 提交时间: 2020-05-30 13:21:02
#include <iostream> using namespace std; int main(){ int a,b,c; cin>>a>>b>>c; if(a==0){ if(b*c>0) cout<<"3 4"; else if(b*c==0) cout<<"non"; else cout<<"1 2"; } else if(b==0){ if(a*c>0) cout<<"2 3"; else if(a*c==0) cout<<"non"; else cout<<"1 4"; } else{ if(a*b>0){ if(b*c>0) cout<<"2 3 4"; else if(b*c==0) cout<<"2 4"; else cout<<"1 2 4"; } else{ if(b*c>0) cout<<"1 3 4"; else if(b*c==0) cout<<"1 3"; else cout<<"1 2 3"; } } return 0; }
Python3(3.5.2) 解法, 执行用时: 26ms, 内存消耗: 3428K, 提交时间: 2020-05-30 13:57:11
a, b, c = map(int, input().split()) if c == 0: if a * b == 0: print("non") elif a * b < 0: print(1, 3) else: print(2, 4) else: if a == 0: if b * c < 0: print(1, 2) else: print(3, 4) elif b == 0: if a * c < 0: print(1, 4) else: print(2, 4) elif a * b < 0: if c * b < 0: print(1, 2, 3) else: print(1, 3, 4) else: if c * b < 0: print(1, 2, 4) else: print(2, 3, 4)